JSON::XS versions from 4.0_00 before 4.05 for Perl corrupt the incremental buffer length by chopping past its end in incr_skip after a top-level number.

The incremental parser scans any run of digits, signs, dots and exponent markers as one number, but the decoder stops at the end of a valid number, so the parser keeps an offset into bytes it has not decoded. It then empties the buffer without clearing those bytes, and a later incr_parse call without new input reads them again and moves the offset past the end of the buffer. incr_skip, the documented recovery after an error, removes that many bytes and the buffer length wraps.

A peer sending input such as "1-2" to an incr_parse consumer can make the next read of incr_text exit the process through perl's uncatchable out-of-memory path.

Project Subscriptions

No data.

Advisories

No advisories yet.

Fixes

Solution

Upgrade to JSON-XS 4.05 or later.


Workaround

No workaround given by the vendor.

History

Sat, 14 Nov 2026 12:00:00 +0000

Type Values Removed Values Added
Description JSON::XS versions from 4.0_00 before 4.05 for Perl corrupt the incremental buffer length by chopping past its end in incr_skip after a top-level number. The incremental parser scans any run of digits, signs, dots and exponent markers as one number, but the decoder stops at the end of a valid number, so the parser keeps an offset into bytes it has not decoded. It then empties the buffer without clearing those bytes, and a later incr_parse call without new input reads them again and moves the offset past the end of the buffer. incr_skip, the documented recovery after an error, removes that many bytes and the buffer length wraps. A peer sending input such as "1-2" to an incr_parse consumer can make the next read of incr_text exit the process through perl's uncatchable out-of-memory path.
Title JSON::XS versions from 4.0_00 before 4.05 for Perl corrupt the incremental buffer length by chopping past its end in incr_skip after a top-level number
Weaknesses CWE-191
References

Projects

Sign in to view the affected projects.

cve-icon MITRE

Status: PUBLISHED

Assigner: CPANSec

Published:

Updated: 2026-11-14T11:53:37.474Z

Reserved: 2026-11-13T15:54:17.575Z

Link: CVE-2026-129113

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-11-14T12:17:43.893

Modified: 2026-11-14T12:17:43.893

Link: CVE-2026-129113

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-11-14T20:30:07Z

Weaknesses