Description
Cpanel::JSON::XS versions before 4.80 for Perl allow memory exhaustion by buffering incremental input past max_size in incr_parse.

The parser appends each chunk to its buffer. In scalar or list context, it compares max_size with how far it has progressed, not with the buffer length. A chunk that starts with a NUL byte stops the parser before it progresses, and a call in void context skips the check, so the buffer grows without limit.

A peer streaming data to an incr_parse consumer can exhaust process memory regardless of max_size.
Published: 2026-10-19
Score: 7.5 High
EPSS: < 1% Very Low
KEV: No
Impact: Denial of Service via Memory Exhaustion
Action: Immediate Patch
AI Analysis

Impact

Cpanel::JSON::XS prior to version 4.80 contains a flaw in its incremental parser: each incoming chunk is appended to an internal buffer, and the parser checks the configured maximum size only against the amount of data already processed, not against the current buffer length. A leading NUL byte halts parsing early, and calling the parser in void context skips the size check, allowing the buffer to grow without bound. A malicious peer that streams data to an incr_parse consumer can therefore exhaust the process’s memory, potentially causing crashes or severe slowdown. The vulnerability’s type is unbounded memory allocation (CWE‑770).

Affected Systems

Any Perl application that loads Cpanel::JSON::XS before version 4.80 is impacted. The module is distributed by RURBAN and is typically employed in web‑hosting control panels and automation scripts; this usage pattern is inferred from the module’s role in common hosting environments.

Risk and Exploitability

The risk is significant because the flaw permits uncontrolled memory allocation. The CVSS score of 7.5 indicates high severity. The EPSS score indicates a very low probability of exploitation (less than 1 %). The vulnerability is not present in the CISA KEV catalog. Based on the description, an attacker can exploit the flaw by sending crafted input streams to incr_parse, regardless of whether the data originates from a local source or a remote client; thus ownership of the process that performs parsing is sufficient to trigger the memory exhaustion. The lack of a hard buffer cap means exploitation can occur without special privileges or additional conditions.

Generated by OpenCVE AI on October 29, 2026 at 22:18 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
  • If an upgrade is not immediately possible, enforce application‑level limits on data streams to bound buffer size before calling incr_parse
  • Modify or wrap incr_parse calls to validate data length and reject inputs that would exceed reasonable memory thresholds

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

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

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'}


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 before 4.80 for Perl allow memory exhaustion by buffering incremental input past max_size in incr_parse. The parser appends each chunk to its buffer. In scalar or list context, it compares max_size with how far it has progressed, not with the buffer length. A chunk that starts with a NUL byte stops the parser before it progresses, and a call in void context skips the check, so the buffer grows without limit. A peer streaming data to an incr_parse consumer can exhaust process memory regardless of max_size.
Title Cpanel::JSON::XS versions before 4.80 for Perl allow memory exhaustion by buffering incremental input past max_size in incr_parse
Weaknesses CWE-770
References

Subscriptions

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

Status: PUBLISHED

Assigner: CPANSec

Published:

Updated: 2026-10-29T16:44:49.590Z

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

Link: CVE-2026-110678

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Awaiting Analysis

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

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

Link: CVE-2026-110678

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

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

Weaknesses
  • CWE-770

    Allocation of Resources Without Limits or Throttling