CVE-2026-124541
JSON::XS versions before 4.05 for Perl leak the decoded part of a rejected long string in decode_str
Description
JSON::XS versions before 4.05 for Perl leak the decoded part of a rejected long string in decode_str. A string is decoded through a fixed-size buffer (16 KiB in 4.04), and each time the buffer fills its contents move into a new scalar. Nothing frees that scalar when the string is then rejected for a control character, an invalid escape, malformed UTF-8 or the end of the input. A process that keeps running after a failed decode retains the decoded part of each rejected string, with its size chosen by the sender. Repeated requests exhaust process memory.
Key facts
- Published
- 14 Nov 2026
- Last changed
- 14 Nov 2026
- Assigned by
- CPANSec
- EPSS
- 0.204% likely to be exploited in the next 30 days, higher than 10.442% of CVEs (scores for 15 Nov 2026)
What to do
- Upgrade to JSON-XS 4.05 or later.CNA solution statement
Historical context and remediation
This reference retains the original CVE publication date. A recent record update does not mean a new attack occurred.
No separately sourced impact summary is available on this page yet. Consult the description, version data and dated exploitation evidence.
Version statuses below come from the CNA. An “unaffected” version is not necessarily a currently supported release or proof of a patch date. EPSS is a dated risk estimate, not a count of historical attacks.
Timeline
- 13 Nov 2026 Version 4.05 released with fix.
- 14 Nov 2026 Published