CVE-2026-129115
JSON::XS versions from 3.0 before 4.05 for Perl read freed stack memory when a FREEZE result's serialisation grows the Perl stack under allow_tags in encode_rv
Description
JSON::XS versions from 3.0 before 4.05 for Perl read freed stack memory when a FREEZE result's serialisation grows the Perl stack under allow_tags in encode_rv. With allow_tags, an object's FREEZE method is called in list context and each returned value is encoded through a saved Perl stack pointer. When encoding a returned value calls back into Perl, through TO_JSON under convert_blessed or another FREEZE, and that callback grows the stack, the stack is reallocated while the saved pointer still refers to the freed block. Encoding such objects reads freed memory, and encode can return undef without an error.
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.441% 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