JSON::XS versions before 4.05 for Perl leak the decoded part of a rejected long string in decode_str
Summary
| CVE | CVE-2026-124541 |
|---|---|
| State | PUBLISHED |
| Assigner | CPANSec |
| Source Priority | CVE Program / NVD first with legacy fallback |
| Published | 2026-11-14 12:17:43 UTC |
| Updated | 2026-11-14 12:17:43 UTC |
| 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. |
Risk And Classification
Problem Types: CWE-401 | CWE-401 CWE-401 Missing Release of Memory after Effective Lifetime
There are no known software configurations currently associated with this CVE in NVD or the CVE Program record.
References
| Reference | Source | Link | Tags |
|---|---|---|---|
| metacpan.org/release/MLEHMANN/JSON-XS-4.05/changes | 9b29abf9-4ab0-4765-b253-1875cd9b441e | metacpan.org | |
| CVE Program record | CVE.ORG | www.cve.org | canonical |
| NVD vulnerability detail | NVD | nvd.nist.gov | canonical, analysis |
No vendor comments have been submitted for this CVE.
Additional Advisory Data
| Source | Time | Event |
|---|---|---|
| CNA | 2026-11-13T00:00:00.000Z | Version 4.05 released with fix. |
Solutions
CNA: Upgrade to JSON-XS 4.05 or later.
There are currently no legacy QID mappings associated with this CVE.