Cpanel::JSON::XS versions before 4.80 for Perl allow memory exhaustion by encoding exponent notation as full decimal digits under allow_bignum
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.
CVE-2026-110676
Primary source · Revision 1
Imported from structured advisory data. Source references identify upstream records or fields; verify affected versions and your deployed configuration.
Security context
Source reference: cve:CVE-2026-110676
Structured affected-version data
Original package identities and version rules from this source.
[
{
"repo": "https://github.com/rurban/Cpanel-JSON-XS",
"modules": [
"Cpanel::JSON::XS"
],
"versions": [
{
"status": "affected",
"version": "0",
"lessThan": "4.80",
"versionType": "custom"
}
],
"packageURL": "pkg:cpan/Cpanel-JSON-XS",
"packageName": "Cpanel-JSON-XS",
"programFiles": [
"XS.xs"
],
"collectionURL": "https://cpan.org/modules",
"defaultStatus": "unaffected",
"programRoutines": [
{
"name": "encode_rv"
},
{
"name": "encode_sv"
}
]
}
]- Related CVEs
- CVE-2026-110676
Source reference:
/cveMetadata/cveId
Publisher severity
No explicit severity was provided.
- Event
- #39685 · Revision 1
- Added to Heist Feed
- Publisher date