Bug 2555771 (CVE-2026-110684)

Summary: CVE-2026-110684 perl-Cpanel-JSON-XS: Memory leak in encode_stringify when encoding overloaded objects
Product: [Other] Security Response Reporter: OSIDB Bzimport <bzimport>
Component: vulnerabilityAssignee: Product Security <prodsec-ir-bot>
Status: NEW --- QA Contact:
Severity: medium Docs Contact:
Priority: medium    
Version: unspecifiedKeywords: Security
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: ---
Doc Text:
A flaw was found in perl-Cpanel-JSON-XS. When encoding certain overloaded objects into string representations, under allow_stringify, convert_blessed or allow_bignum, the encode_stringify function retains unreleased references and fails to free allocated memory. An attacker capable of submitting crafted input for JSON serialization can trigger continuous memory consumption, leading to a Denial of Service (DoS).
Story Points: ---
Clone Of: Environment:
Last Closed: Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 2556488, 2556489    
Bug Blocks:    

Description OSIDB Bzimport 2026-10-19 18:40:18 UTC
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.