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

No advisories yet.

Fixes

Solution

Upgrade to Cpanel-JSON-XS 4.80 or later.


Workaround

No workaround given by the vendor.

History

Mon, 19 Oct 2026 18:30:00 +0000

Type Values Removed Values Added
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.
Title Cpanel::JSON::XS versions before 4.80 for Perl allow memory exhaustion by encoding exponent notation as full decimal digits under allow_bignum
Weaknesses CWE-405
References

Projects

Sign in to view the affected projects.

cve-icon MITRE

Status: PUBLISHED

Assigner: CPANSec

Published:

Updated: 2026-10-19T18:11:45.805Z

Reserved: 2026-10-14T13:23:56.248Z

Link: CVE-2026-110676

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Awaiting Analysis

Published: 2026-10-19T19:17:21.320

Modified: 2026-10-19T20:50:17.967

Link: CVE-2026-110676

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-10-19T19:30:02Z

Weaknesses