---
id: CVE-2026-110676
title: >-
  Cpanel::JSON::XS versions before 4.80 for Perl allow memory exhaustion by
  encoding exponent notation as full decimal digits under allow_bignum
summary: >-
  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, wh…
severity: none
cwe:
  - CWE-405
product: Cpanel-JSON-XS
affected:
  - Cpanel-JSON-XS < 4.80
published: '2026-10-19'
updated: '2026-10-19'
sourceUpdated: '2026-10-19T18:11:45.805Z'
source: CVEORG
sourceUrl: 'https://www.cve.org/CVERecord?id=CVE-2026-110676'
references:
  - url: >-
      https://github.com/rurban/Cpanel-JSON-XS/commit/996ab96972b967a917536d291947b5f3cf42e960.patch
  - url: 'https://metacpan.org/release/RURBAN/Cpanel-JSON-XS-4.80/changes'
tags:
  - cve.org
ingestedAt: '2026-10-19T18:35:50.144Z'
---

## Overview

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.

## Affected

- `Cpanel-JSON-XS < 4.80`

## Remediation

Upgrade to Cpanel-JSON-XS 4.80 or later.
