Description
Cpanel::JSON::XS versions from 3.0202 before 4.80 for Perl leak memory and retain overloaded objects when encoding values as strings in encode_stringify.

encode_stringify writes a value in its string form under allow_stringify, under convert_blessed for objects without TO_JSON, and under allow_bignum. For an array or hash object with a "" overload, and from 4.20 a scalar object, it takes an extra reference that is never released, so the object and everything it references are never freed. From 4.10 it also never frees its copy of the string.

Repeatedly encoding data that contains such values grows process memory without bound.
Published: 2026-10-19
Score: 8.1 High
EPSS: < 1% Very Low
KEV: No
Impact: Denial of Service through uncontrolled memory consumption
Action: Immediate Patch
AI Analysis

Impact

Cpanel::JSON::XS contains a memory leak that occurs when encode_stringify processes values that overload the string operator. The routine retains references to overloaded objects and their associated data, never freeing them. Repeated encoding of such data causes the process memory footprint to grow without bound, leading to a denial of service by exhausting system resources. The weakness stems from improper release of memory (CWE-401).

Affected Systems

Perl applications that use the Cpanel::JSON::XS module, specifically versions 3.0202 through 4.79. The module is part of the Cpanel Perl distribution and is widely employed in web hosting control panels and other Perl-based services.

Risk and Exploitability

Based on the description, it is inferred that the attack vector is via crafted data supplied to encode_stringify. The CVSS score of 8.1 indicates a high severity. The EPSS score is <1%, so the exploitation probability is currently very low; the vulnerability is not listed in the CISA KEV catalog. Attackers can trigger the memory leak by supplying crafted data that triggers encode_stringify, causing uncontrolled memory growth and eventual denial of service. While exploitation evidence is limited, the high severity and potential for large memory consumption make this a significant risk for vulnerable systems, especially in environments where encode_stringify processes untrusted input.

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

Remediation

Vendor Solution

Upgrade to Cpanel-JSON-XS 4.80 or later.


OpenCVE Recommended Actions

  • Upgrade Cpanel::JSON::XS to version 4.80 or later
  • Configure encode_stringify to disable allow_stringify, convert_blessed, or allow_bignum options when processing untrusted input
  • Audit your codebase to ensure that encode_stringify is not called with data that may contain overloaded objects

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

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Thu, 29 Oct 2026 18: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': 8.1, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:H'}


Mon, 19 Oct 2026 21: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 from 3.0202 before 4.80 for Perl leak memory and retain overloaded objects when encoding values as strings in encode_stringify. encode_stringify writes a value in its string form under allow_stringify, under convert_blessed for objects without TO_JSON, and under allow_bignum. For an array or hash object with a "" overload, and from 4.20 a scalar object, it takes an extra reference that is never released, so the object and everything it references are never freed. From 4.10 it also never frees its copy of the string. Repeatedly encoding data that contains such values grows process memory without bound.
Title Cpanel::JSON::XS versions from 3.0202 before 4.80 for Perl leak memory and retain overloaded objects when encoding values as strings in encode_stringify
Weaknesses CWE-401
References

Subscriptions

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

Status: PUBLISHED

Assigner: CPANSec

Published:

Updated: 2026-10-29T17:01:30.913Z

Reserved: 2026-10-14T13:26:26.768Z

Link: CVE-2026-110684

cve-icon Vulnrichment

Updated: 2026-10-29T17:01:04.457Z

cve-icon NVD

Status : Awaiting Analysis

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

Modified: 2026-10-29T17:18:00.567

Link: CVE-2026-110684

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