GHSA-vgmh-4qpm-2xcvunknown

JSON::XS versions before 4.05 for Perl leak the decoded part of a rejected long string in...

Published
November 14, 2026
Last Modified
November 14, 2026

🔗 CVE IDs covered (1)

📋 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.

🔗 References (3)