CVE-2026-124536 PUBLISHED

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

Assigner: CPANSec
Reserved: 08.11.2026 Published: 14.11.2026 Updated: 14.11.2026

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.

The parser appends each chunk to its buffer and compares max_size 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 max_size bytes keeps it short of the limit. The buffer keeps growing, and incr_skip cannot remove the NUL.

A peer streaming data to an incr_parse consumer can exhaust process memory regardless of max_size.

Product Status

Package Collection https://cpan.org/modules
Package Name JSON-XS
Versions Default: unaffected
  • affected from 0 to 4.05 (excl.)

Solutions

Upgrade to JSON-XS 4.05 or later.

References

Problem Types

  • CWE-770 Allocation of Resources Without Limits or Throttling CWE