Description
Cpanel::JSON::XS versions from 4.28 before 4.80 for Perl leak the array collecting duplicate key values under dupkeys_as_arrayref in decode_hv.

With dupkeys_as_arrayref, the values of a duplicate object key are collected into a new array. An extra reference is never released, so the array and every value in it outlive the decoded structure. The array also leaks when decoding fails after a duplicate key.

Repeatedly decoding untrusted JSON with a duplicate key holding a large value exhausts process memory.
Published: 2026-10-19
Score: 7.5 High
EPSS: < 1% Very Low
KEV: No
Impact: Memory exhaustion leading to denial of service
Action: Patch Now
AI Analysis

Impact

The vulnerability lies in the Cpanel::JSON::XS Perl module, specifically versions 4.28 through 4.79, where the dupkeys_as_arrayref option in decode_hv does not release its array reference. This causes the array storing duplicate key values, and any contained data, to persist in memory even after decoding finishes or encounters an error. Repeatedly decoding untrusted JSON that includes a duplicate key with large values can gradually consume all available process memory, eventually resulting in a denial of service.

Affected Systems

The affected product is the Cpanel::JSON::XS Perl module used under the Cpanel-JSON-XS project. Versions from 4.28 up to, but not including, 4.80 are impacted, including 4.28, 4.29, up to 4.79. Software that incorporates this module under any application that deserializes JSON data from external or unauthenticated sources falls into this risk window.

Risk and Exploitability

Based on the description, the primary threat is memory exhaustion leading to denial of service. The attacker would need to supply crafted JSON with duplicate keys containing large payloads to trigger the leak. The CVSS score is 7.5, indicating a high severity. The EPSS score of < 1% and lack of a KEV listing suggest a low probability of exploitation at present, but the attack vector is straightforward and could be performed remotely if the vulnerable function processes external data. As no public exploit is documented, the current risk is primarily from potential misuse of the module as part of the deserialization chain.

Generated by OpenCVE AI on October 29, 2026 at 21:45 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.
  • If an immediate upgrade is not possible, modify your JSON processing logic to prevent duplicate keys or disable dupkeys_as_arrayref, ensuring that untrusted JSON is sanitized before parsing.
  • Implement process memory limits or monitor memory usage in your application stack to detect and contain potential exhaustion caused by lingering deserialization operations.

Generated by OpenCVE AI on October 29, 2026 at 21:45 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': 'yes', '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'}


Wed, 21 Oct 2026 17:15: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 4.28 before 4.80 for Perl leak the array collecting duplicate key values under dupkeys_as_arrayref in decode_hv. With dupkeys_as_arrayref, the values of a duplicate object key are collected into a new array. An extra reference is never released, so the array and every value in it outlive the decoded structure. The array also leaks when decoding fails after a duplicate key. Repeatedly decoding untrusted JSON with a duplicate key holding a large value exhausts process memory.
Title Cpanel::JSON::XS versions from 4.28 before 4.80 for Perl leak the array collecting duplicate key values under dupkeys_as_arrayref in decode_hv
Weaknesses CWE-401
References

Subscriptions

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

Status: PUBLISHED

Assigner: CPANSec

Published:

Updated: 2026-10-29T16:43:21.148Z

Reserved: 2026-10-14T13:24:19.060Z

Link: CVE-2026-110677

cve-icon Vulnrichment

Updated: 2026-10-29T16:43:00.727Z

cve-icon NVD

Status : Awaiting Analysis

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

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

Link: CVE-2026-110677

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-10-29T22:00:09Z

Weaknesses
  • CWE-401

    Missing Release of Memory after Effective Lifetime