CVE-2026-110684: Cpanel::JSON::XS versions from 3.0202 before 4.80 for Perl leak memory and retain overloaded objects when encoding values as strings in encode_stringify
Stig Palmquist 19 Oct 2026 18:24 UTC
========================================================================
CVE-2026-110684 CPAN Security Group
========================================================================
CVE ID: CVE-2026-110684
Distribution: Cpanel-JSON-XS
Versions: from 3.0202 before 4.80
MetaCPAN: https://metacpan.org/dist/Cpanel-JSON-XS
VCS Repo: https://github.com/rurban/Cpanel-JSON-XS
Cpanel::JSON::XS versions from 3.0202 before 4.80 for Perl leak memory
and retain overloaded objects when encoding values as strings in
encode_stringify
Description
-----------
Cpanel::JSON::XS versions from 3.0202 before 4.80 for Perl leak memory
and retain overloaded objects when encoding values as strings in
encode_stringify.
encode_stringify writes a value in its string form under
allow_stringify, under convert_blessed for objects without TO_JSON, and
under allow_bignum. For an array or hash object with a "" overload, and
from 4.20 a scalar object, it takes an extra reference that is never
released, so the object and everything it references are never freed.
From 4.10 it also never frees its copy of the string.
Repeatedly encoding data that contains such values grows process memory
without bound.
Problem types
-------------
- CWE-401 Missing Release of Memory after Effective Lifetime
Solutions
---------
Upgrade to Cpanel-JSON-XS 4.80 or later.
References
----------
https://github.com/rurban/Cpanel-JSON-XS/commit/5b15916b5e7841e447664ace51fb50c12d1e0f39.patch
https://metacpan.org/release/RURBAN/Cpanel-JSON-XS-4.80/changes
Timeline
--------
- 2026-10-14: Version 4.80 released with fix.