Description
Cpanel::JSON::XS versions from 4.42 before 4.80 for Perl let input chunking change the decoded value of top-level numbers in incr_parse.

allow_nonref is enabled by default and incr_parse inherits it. A top-level number, true, false or null has no closing delimiter, so the incremental parser decodes whatever has arrived. The bytes 12 decode as one value when read together, but as 1 and then 2 when split across two reads.

A peer that can influence read boundaries can change how many messages a stream consumer decodes and what values they carry.
Published: 2026-10-19
Score: 7.5 High
EPSS: < 1% Very Low
KEV: No
Impact: Data integrity compromise
Action: Patch
AI Analysis

Impact

The Cpanel::JSON::XS library contains an incremental JSON decoder that allows an attacker to alter decoded top‑level values by manipulating how the input stream is chunked. Because the library enables allow_nonref by default and incr_parse inherits this property, a number, boolean, or null is decoded each time any data arrives. When a top‑level value lacks a terminating delimiter, splitting the bytes between two reads causes the parser to interpret the data as separate values. An attacker who can control the read boundaries can therefore change a value that an application subsequently trusts, leading to logic errors or incorrect processing. The flaw represents a CWE‑436: Improper handling of streamed input and directly affects data integrity.

Affected Systems

Cpanel::JSON::XS, a Perl JSON parsing module, versions 4.42 to 4.79 inclusive. All systems that depend on these library versions are vulnerable.

Risk and Exploitability

The flaw is not listed in the CISA KEV catalog and its EPSS score of <1% indicates a low exploitation probability, but no known exploits have been documented at the time of analysis. However, the vulnerability can be exposed through any channel that allows an attacker to shape the read boundaries of incremental JSON data. The attack does not require code execution; it instead relies on manipulating how the parser interprets incoming fragments, which can alter top‑level values such as numbers, booleans or nulls. With a CVSS score of 7.5, the severity is high, and the integrity impact can be significant for applications that treat parsed values as authoritative data.

Generated by OpenCVE AI on October 29, 2026 at 21:44 UTC.

Remediation

Vendor Solution

Upgrade to Cpanel-JSON-XS 4.80 or later.


OpenCVE Recommended Actions

  • Upgrade the Cpanel::JSON::XS library to version 4.80 or later, which removes the vulnerability.
  • If an immediate upgrade is not feasible, instantiate JSON::XS objects with allow_nonref disabled so that incremental parsing cannot interpret incomplete top‑level values.
  • Audit all code paths that use incr_parse with untrusted input and modify them to fully buffer the JSON data before decoding, ensuring that chunk boundaries cannot be manipulated.

Generated by OpenCVE AI on October 29, 2026 at 21:44 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:H/I:N/A:N'}


Mon, 19 Oct 2026 21:00: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.42 before 4.80 for Perl let input chunking change the decoded value of top-level numbers in incr_parse. allow_nonref is enabled by default and incr_parse inherits it. A top-level number, true, false or null has no closing delimiter, so the incremental parser decodes whatever has arrived. The bytes 12 decode as one value when read together, but as 1 and then 2 when split across two reads. A peer that can influence read boundaries can change how many messages a stream consumer decodes and what values they carry.
Title Cpanel::JSON::XS versions from 4.42 before 4.80 for Perl let input chunking change the decoded value of top-level numbers in incr_parse
Weaknesses CWE-436
References

Subscriptions

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

Status: PUBLISHED

Assigner: CPANSec

Published:

Updated: 2026-10-29T16:47:42.179Z

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

Link: CVE-2026-110682

cve-icon Vulnrichment

Updated: 2026-10-29T16:47:22.785Z

cve-icon NVD

Status : Awaiting Analysis

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

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

Link: CVE-2026-110682

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-10-29T21:45:15Z

Weaknesses