CVE-2026-110672

Status: Awaiting AnalysisUnscored—
Severity—Unscored
Exploitation probability0.17 %higher than 6% of CVEs
Active exploitationNonot in the CISA catalog
Public exploitNot knownno public code found

Cpanel::JSON::XS versions before 4.80 for Perl leak the decoded key of an object rejected for a duplicate key or a missing colon in decode_hv.

A quoted key of 24 or more bytes, or one containing a non-ASCII byte or an escape sequence, is decoded into a new scalar. Nothing frees that scalar when the object is rejected for a missing ':' after the key or, from 4.09, for a duplicate key. Duplicate keys are an error unless allow_dupkeys, dupkeys_as_arrayref or relaxed is set.

A process that keeps running after a failed decode retains one key per rejected document, with its size chosen by the sender. Repeated requests exhaust process memory.

CVSS

NVD hasn't assigned a CVSS score to this CVE (common since the April 2026 policy change).

Exploitation probability (EPSS)

Probability of exploitation in the next 30 days
0.17 %
Percentile among all scored CVEs
6
Score date
10/20/2026

EPSS (Exploit Prediction Scoring System, FIRST) estimates how likely a vulnerability is to be exploited in the wild within 30 days. It complements CVSS (impact) and CISA KEV (confirmed exploitation).

Affected technologies (1)

⚠ AI-inferred from the description — NVD hasn't analyzed this CVE yet, these aren't verified CPEs.

CWEs

References

Show 2 references

Raw JSON (NVD)

Show
{
  "id": "CVE-2026-110672",
  "cveTags": [],
  "metrics": {},
  "affected": [
    {
      "source": "9b29abf9-4ab0-4765-b253-1875cd9b441e",
      "affectedData": [
        {
          "repo": "https://github.com/rurban/Cpanel-JSON-XS",
          "modules": [
            "Cpanel::JSON::XS"
          ],
          "versions": [
            {
              "status": "affected",
              "version": "0",
              "lessThan": "4.80",
              "versionType": "custom"
            }
          ],
          "packageURL": "pkg:cpan/Cpanel-JSON-XS",
          "packageName": "Cpanel-JSON-XS",
          "programFiles": [
            "XS.xs"
          ],
          "collectionURL": "https://cpan.org/modules",
          "defaultStatus": "unaffected",
          "programRoutines": [
            {
              "name": "decode_hv"
            }
          ]
        }
      ]
    }
  ],
  "published": "2026-10-19T19:17:20.753",
  "references": [
    {
      "url": "https://github.com/rurban/Cpanel-JSON-XS/commit/532b53cf8d2ca5ab6bc24048325566d1f7132425.patch",
      "source": "9b29abf9-4ab0-4765-b253-1875cd9b441e"
    },
    {
      "url": "https://metacpan.org/release/RURBAN/Cpanel-JSON-XS-4.80/changes",
      "source": "9b29abf9-4ab0-4765-b253-1875cd9b441e"
    }
  ],
  "vulnStatus": "Awaiting Analysis",
  "weaknesses": [
    {
      "type": "Secondary",
      "source": "9b29abf9-4ab0-4765-b253-1875cd9b441e",
      "description": [
        {
          "lang": "en",
          "value": "CWE-401"
        }
      ]
    }
  ],
  "descriptions": [
    {
      "lang": "en",
      "value": "Cpanel::JSON::XS versions before 4.80 for Perl leak the decoded key of an object rejected for a duplicate key or a missing colon in decode_hv.\n\nA quoted key of 24 or more bytes, or one containing a non-ASCII byte or an escape sequence, is decoded into a new scalar. Nothing frees that scalar when the object is rejected for a missing ':' after the key or, from 4.09, for a duplicate key. Duplicate keys are an error unless allow_dupkeys, dupkeys_as_arrayref or relaxed is set.\n\nA process that keeps running after a failed decode retains one key per rejected document, with its size chosen by the sender. Repeated requests exhaust process memory."
    }
  ],
  "lastModified": "2026-10-19T20:50:17.967",
  "sourceIdentifier": "9b29abf9-4ab0-4765-b253-1875cd9b441e"
}