# CVE-2026-110677: Cpanel::JSON::XS memory leak in dupkeys_as_arrayref

Source: https://junglewise.ai/threats/cve-2026-110677-cpanel-json-xs-versions-from-4-28-before-4-80-for-perl-leak-the  
Publisher: Junglewise Threat Intelligence, https://junglewise.ai/threats  
Published: 2026-10-19. Updated: 2026-10-19  
License: CC BY 4.0 with a link back

CVE-2026-110677 · Severity: info · Published 2026-10-19

Cpanel::JSON::XS is a Perl library for parsing and generating JSON. When configured to collect duplicate object keys into arrays (dupkeys_as_arrayref), it fails to release references to these arrays, causing memory to be retained indefinitely. An attacker can exhaust process memory by repeatedly sending JSON with duplicate keys containing large values.

Technologies: [cPanel JSON::XS](https://junglewise.ai/threats/technologies/json-xs). Vendors: [cPanel](https://junglewise.ai/threats/vendors/cpanel).

## Quick answers

**Is CVE-2026-110677 exploited in the wild?** No. Junglewise Threat Intelligence has no report of CVE-2026-110677 being exploited in the wild.

**How severe is CVE-2026-110677?** Informational severity, published 19 October 2026.

**Which products and versions are affected?** cPanel JSON::XS 4.28 before 4.80.

**Is there a fix for CVE-2026-110677?** Yes: fixed in Cpanel::JSON::XS 4.80 and later. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.

**How is CVE-2026-110677 attacked?** It is attacked over the network, in a software library.

**Am I affected by CVE-2026-110677?** Check whether you run cPanel JSON::XS at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

## How to fix

- Fixed in Cpanel::JSON::XS 4.80 and later

## Technical details

The decode_hv function in XS.xs creates new arrays to hold duplicate key values but fails to decrement reference counts correctly, leaving unreleased references that prevent garbage collection. The vulnerability affects both string-key and SV-key code paths. A remote attacker can trigger memory exhaustion by repeatedly decoding untrusted JSON with duplicate keys and large payloads without authentication.

## Affected products

- Cpanel JSON::XS 4.28 before 4.80

## Timeline

- 2026-10-19: disclosed

## References

- [https://cpan.org/modules](https://cpan.org/modules)
- [https://github.com/rurban/Cpanel-JSON-XS/commit/edb13030a708afc2cde0d2629fb6bdd31288ce6c.patch](https://github.com/rurban/Cpanel-JSON-XS/commit/edb13030a708afc2cde0d2629fb6bdd31288ce6c.patch)

## Related threats

- [Cpanel::JSON::XS canonical encoding misorders byte-string keys](https://junglewise.ai/threats/cve-2026-110687-cpanel-json-xs-versions-from-4-43-before-4-80-for-perl-misorder)
- [Cpanel::JSON::XS incremental parser number ambiguity in incr_parse](https://junglewise.ai/threats/cve-2026-110682-cpanel-json-xs-versions-from-4-42-before-4-80-for-perl-let-input)
- [Cpanel::JSON::XS type confusion in duplicate key handling](https://junglewise.ai/threats/cve-2026-110674-cpanel-json-xs-versions-from-4-33-before-4-80-for-perl-miss)
- [Cpanel::JSON::XS stack exhaustion in decode_tag with allow_tags](https://junglewise.ai/threats/cve-2026-110673-cpanel-json-xs-versions-before-4-80-for-perl-allow-stack)
- [Cpanel::JSON::XS memory leak in decode_hv with rejected keys](https://junglewise.ai/threats/cve-2026-110672-cpanel-json-xs-versions-before-4-80-for-perl-leak-the-decoded)
