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
Summary
| CVE | CVE-2026-129113 |
|---|---|
| State | PUBLISHED |
| Assigner | CPANSec |
| Source Priority | CVE Program / NVD first with legacy fallback |
| Published | 2026-11-14 12:17:43 UTC |
| Updated | 2026-11-14 12:17:43 UTC |
| 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. |
Risk And Classification
Problem Types: CWE-191 | CWE-191 CWE-191 Integer Underflow (Wrap or Wraparound)
There are no known software configurations currently associated with this CVE in NVD or the CVE Program record.
References
| Reference | Source | Link | Tags |
|---|---|---|---|
| metacpan.org/release/MLEHMANN/JSON-XS-4.05/changes | 9b29abf9-4ab0-4765-b253-1875cd9b441e | metacpan.org | |
| CVE Program record | CVE.ORG | www.cve.org | canonical |
| NVD vulnerability detail | NVD | nvd.nist.gov | canonical, analysis |
Vendor Comments And Credit
Discovery Credit
CNA: Albert Gierlach (rivit) (en)
Additional Advisory Data
| Source | Time | Event |
|---|---|---|
| CNA | 2026-11-13T00:00:00.000Z | Version 4.05 released with fix. |
Solutions
CNA: Upgrade to JSON-XS 4.05 or later.
There are currently no legacy QID mappings associated with this CVE.