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.