CVE-2026-129113
Received Received - Intake

JSON::XS Incremental Parser Buffer Overflow

Vulnerability report for CVE-2026-129113, including description, CVSS score, EPSS score, affected products, exploitability, helpful resources, and attack-flow context.

Publication date: 2026-11-14

Last updated on: 2026-11-14

Assigner: CPANSec

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.

CVSS Scores

EPSS Scores

Probability:
Percentile:

Meta Information

Published
2026-11-14
Last Modified
2026-11-14
Generated
2026-11-15
AI Q&A
2026-11-14
EPSS Evaluated
N/A
NVD
EUVD

Affected Vendors & Products

Showing 1 associated CPE
Vendor Product Version / Range
perl json_xs to 4.05 (exc)

Helpful Resources

Exploitability

CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-191 The product subtracts one value from another, such that the result is less than the minimum allowable integer value, which produces a value that is not equal to the correct result.

Attack-Flow Graph

AI Quick Actions

Instant insights powered by AI
Executive Summary

This vulnerability affects JSON::XS versions from 4.0_00 to 4.05 for Perl. The issue occurs in the incremental parser where the buffer length is corrupted after processing a number. The parser incorrectly handles offsets for undecoded bytes, leading to buffer overflow when recovering from errors. Specifically, sending input like '1-2' can trigger an uncatchable out-of-memory crash during subsequent reads.

Detection Guidance

This vulnerability affects JSON::XS Perl modules. To detect it, check installed versions of JSON::XS with commands like 'cpan -D JSON::XS' or 'perl -MJSON::XS -e "print $JSON::XS::VERSION"'. Vulnerable versions are 4.0_00 to 4.04.

Impact Analysis

An attacker could exploit this to crash applications using vulnerable JSON::XS versions by sending malformed input. This may cause denial-of-service conditions or unexpected termination of processes handling JSON data incrementally.

Compliance Impact

This vulnerability does not directly affect compliance with GDPR, HIPAA, or similar standards as described in the provided CVE data. The issue is a memory corruption flaw in JSON::XS for Perl, which could lead to denial-of-service via out-of-memory conditions. Compliance impacts would depend on system-specific implementations and are not addressed in the given context.

Mitigation Strategies

Upgrade JSON::XS to version 4.05 or later immediately. Use package managers like cpan or cpanm to update: 'cpan upgrade JSON::XS'. Remove or restrict access to systems using vulnerable versions until patched.

Chat Assistant

Ask questions about this CVE
Hi! I’m here to help you understand CVE-2026-129113. Ask me anything about the vulnerability, its impact, or mitigation strategies.
0/70

EPSS Chart

Security Radar

News mentioning this vulnerability
Loading related security news...