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.

Read the original CVE record.

Timeline

  1. 13 Nov 2026 Version 4.05 released with fix.
  2. 14 Nov 2026 Published

Weakness

References