CVE-2026-110676: Cpanel::JSON::XS versions before 4.80 for Perl allow memory exhaustion by encoding exponent notation as full decimal digits under allow_bignum
Stig Palmquist 19 Oct 2026 18:19 UTC
========================================================================
CVE-2026-110676 CPAN Security Group
========================================================================
CVE ID: CVE-2026-110676
Distribution: Cpanel-JSON-XS
Versions: before 4.80
MetaCPAN: https://metacpan.org/dist/Cpanel-JSON-XS
VCS Repo: https://github.com/rurban/Cpanel-JSON-XS
Cpanel::JSON::XS versions before 4.80 for Perl allow memory exhaustion
by encoding exponent notation as full decimal digits under allow_bignum
Description
-----------
Cpanel::JSON::XS versions before 4.80 for Perl allow memory exhaustion
by encoding exponent notation as full decimal digits under
allow_bignum.
With allow_bignum, a JSON number with a fraction or exponent decodes to
a Math::BigFloat, which stores the exponent separately and so decodes
cheaply. Encoding it untyped or as JSON_TYPE_FLOAT writes the plain
decimal form with one digit per unit of exponent. Nothing bounds the
exponent, so the 12-byte text [1e30000000] encodes to 30 MB.
Untrusted JSON decoded with allow_bignum and encoded again can exhaust
memory and CPU.
Problem types
-------------
- CWE-405 Asymmetric Resource Consumption (Amplification)
Solutions
---------
Upgrade to Cpanel-JSON-XS 4.80 or later.
References
----------
https://github.com/rurban/Cpanel-JSON-XS/commit/996ab96972b967a917536d291947b5f3cf42e960.patch
https://metacpan.org/release/RURBAN/Cpanel-JSON-XS-4.80/changes
Timeline
--------
- 2026-10-14: Version 4.80 released with fix.