CVE-2026-124536: JSON::XS versions before 4.05 for Perl allow memory exhaustion by buffering incremental input past max_size after a NUL byte in incr_parse
JSON::XS versions before 4.05 for Perl allow memory exhaustion by buffering incremental input past maxsize after a NUL byte in incrparse.
The parser appends each chunk to its buffer and compares maxsize with how far it has progressed, not with the buffer length. It treats a NUL byte as the end of the input, so a NUL within the first maxsize bytes keeps it short of the limit. The buffer keeps growing, and incrskip cannot remove the NUL.
A peer streaming data to an incrparse consumer can exhaust process memory regardless of maxsize.
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
JSON::XSto a version that resolves this vulnerability.Fixed in 4.05