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.
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.
Project Subscriptions
No data.
Advisories
No advisories yet.
Fixes
Solution
Upgrade to JSON-XS 4.05 or later.
Workaround
No workaround given by the vendor.
References
| Link | Providers |
|---|---|
| https://metacpan.org/release/MLEHMANN/JSON-XS-4.05/changes |
|
History
Sat, 14 Nov 2026 12:00:00 +0000
| Type | Values Removed | Values Added |
|---|---|---|
| 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. | |
| Title | JSON::XS versions before 4.05 for Perl leak the decoded part of a rejected long string in decode_str | |
| Weaknesses | CWE-401 | |
| References |
|
Projects
Sign in to view the affected projects.
Status: PUBLISHED
Assigner: CPANSec
Published:
Updated: 2026-11-14T11:53:12.301Z
Reserved: 2026-11-08T12:32:39.559Z
Link: CVE-2026-124541
No data.
Status : Received
Published: 2026-11-14T12:17:43.777
Modified: 2026-11-14T12:17:43.777
Link: CVE-2026-124541
No data.
OpenCVE Enrichment
No data.
Weaknesses