Description
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.
Published: 2026-10-19
Score: 7.5 High
EPSS: < 1% Very Low
KEV: No
Impact: Memory Exhaustion
Action: Immediate Patch
AI Analysis

Impact

Cpanel::JSON::XS versions older than 4.80 decode certain JSON keys, such as a 24‑byte string or a non‑ASCII sequence, into a new scalar that is never freed when the JSON object is rejected. The rejection occurs for a missing colon after the key or, for versions 4.09 and later, for a duplicate key that is not allowed. Because each rejected document retains one unique key, an application that continues to run after a failed decode can accumulate many leaked scalars in memory, leading to gradual or rapid exhaustion of process memory and eventual denial of service.

Affected Systems

The affected code base is the Perl module Cpanel::JSON::XS. Any Perl application that uses this module to parse JSON payloads will be vulnerable if its version is earlier than 4.80. The CVE report does not list specific vendor or application names or a precise affected‑version range beyond the version threshold of 4.80.

Risk and Exploitability

The vulnerability is a plain memory‑leak that can be triggered by sending malformed JSON requests composed of duplicate keys or keys that lack brackets. Once the allocator is depleted, the process will fail to handle further requests, causing a service disruption. The attack is low‑cost and straightforward to automate: no special credentials or privileged access are required. The EPSS score is < 1% and the vulnerability is not currently listed in CISA’s KEV catalog, and the CVSS score is 7.5. However the impact on availability is significant for any service that keeps a long‑lived process alive after decoding failures.

Generated by OpenCVE AI on October 29, 2026 at 22:19 UTC.

Remediation

Vendor Solution

Upgrade to Cpanel-JSON-XS 4.80 or later.


OpenCVE Recommended Actions

  • Upgrade to Cpanel-JSON-XS 4.80 or later to remove the bug
  • If an upgrade is not immediately possible, configure the application to terminate or restart the process after a JSON decode failure, ensuring no leaked scalars accumulate
  • Validate incoming JSON payloads to reject duplicate keys or malformed structures before passing them to decode_hv

Generated by OpenCVE AI on October 29, 2026 at 22:19 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Sat, 31 Oct 2026 10:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'none', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Thu, 29 Oct 2026 17:30:00 +0000

Type Values Removed Values Added
Metrics cvssV3_1

{'score': 7.5, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H'}


Tue, 20 Oct 2026 00:45:00 +0000

Type Values Removed Values Added
First Time appeared Rurban
Rurban cpanel::json::xs
Vendors & Products Rurban
Rurban cpanel::json::xs

Mon, 19 Oct 2026 18:30:00 +0000

Type Values Removed Values Added
Description 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.
Title 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
Weaknesses CWE-401
References

Subscriptions

Rurban Cpanel::json::xs
cve-icon MITRE

Status: PUBLISHED

Assigner: CPANSec

Published:

Updated: 2026-10-29T16:33:27.499Z

Reserved: 2026-10-14T13:22:31.904Z

Link: CVE-2026-110672

cve-icon Vulnrichment

Updated: 2026-10-29T16:32:21.187Z

cve-icon NVD

Status : Awaiting Analysis

Published: 2026-10-19T19:17:20.753

Modified: 2026-10-29T17:17:59.370

Link: CVE-2026-110672

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-10-29T22:30:13Z

Weaknesses
  • CWE-401

    Missing Release of Memory after Effective Lifetime