---
id: CVE-2026-110684
title: >-
  Cpanel::JSON::XS versions from 3.0202 before 4.80 for Perl leak memory and
  retain overloaded objects when encoding values as strings in encode_stringify
summary: >-
  Cpanel::JSON::XS versions from 3.0202 before 4.80 for Perl leak memory and
  retain overloaded objects when encoding values as strings in encode_stringify.


  encode_stringify writes a value in its string form under allow_stringify,
  under co…
severity: none
cwe:
  - CWE-401
product: Cpanel-JSON-XS
affected:
  - Cpanel-JSON-XS >= 3.0202 < 4.80
published: '2026-10-19'
updated: '2026-10-19'
sourceUpdated: '2026-10-19T18:12:13.737Z'
source: CVEORG
sourceUrl: 'https://www.cve.org/CVERecord?id=CVE-2026-110684'
references:
  - url: >-
      https://github.com/rurban/Cpanel-JSON-XS/commit/5b15916b5e7841e447664ace51fb50c12d1e0f39.patch
  - url: 'https://metacpan.org/release/RURBAN/Cpanel-JSON-XS-4.80/changes'
tags:
  - cve.org
ingestedAt: '2026-10-19T18:35:50.142Z'
---

## Overview

Cpanel::JSON::XS versions from 3.0202 before 4.80 for Perl leak memory and retain overloaded objects when encoding values as strings in encode_stringify.

encode_stringify writes a value in its string form under allow_stringify, under convert_blessed for objects without TO_JSON, and under allow_bignum. For an array or hash object with a "" overload, and from 4.20 a scalar object, it takes an extra reference that is never released, so the object and everything it references are never freed. From 4.10 it also never frees its copy of the string.

Repeatedly encoding data that contains such values grows process memory without bound.

## Affected

- `Cpanel-JSON-XS >= 3.0202 < 4.80`

## Remediation

Upgrade to Cpanel-JSON-XS 4.80 or later.
