CVE Catalog

CVE-2026-110676

Unknown
Published: Updated: Translated: NVD NIST

Summary

In the Cpanel::JSON::XS Perl library (versions before 4.80), with allow_bignum, numbers in exponent notation are encoded as full decimal digits, which can lead to memory exhaustion. A small text such as [1e30000000] can encode to about 30 MB because the exponent is unbounded.

Risk Assessment

Untrusted JSON decoded with allow_bignum and re-encoded can exhaust process memory and CPU, causing denial of service.

Recommendation

Update Cpanel::JSON::XS to version 4.80 or later and avoid re-encoding untrusted numbers with large exponents when allow_bignum is enabled.

Other vulnerabilities in Cpanel::JSON::XS

See all
Original NVD description (English source)

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.

Vulnerability data from NVD (NIST) · CISA KEV · EPSS