CVE-2026-110674: Cpanel::JSON::XS versions from 4.33 before 4.80 for Perl miss duplicate non-ASCII bare keys, allowing type confusion under dupkeys_as_arrayref in decode_hv
Stig Palmquist 19 Oct 2026 18:17 UTC
========================================================================
CVE-2026-110674 CPAN Security Group
========================================================================
CVE ID: CVE-2026-110674
Distribution: Cpanel-JSON-XS
Versions: from 4.33 before 4.80
MetaCPAN: https://metacpan.org/dist/Cpanel-JSON-XS
VCS Repo: https://github.com/rurban/Cpanel-JSON-XS
Cpanel::JSON::XS versions from 4.33 before 4.80 for Perl miss duplicate
non-ASCII bare keys, allowing type confusion under dupkeys_as_arrayref
in decode_hv
Description
-----------
Cpanel::JSON::XS versions from 4.33 before 4.80 for Perl miss duplicate
non-ASCII bare keys, allowing type confusion under dupkeys_as_arrayref
in decode_hv.
With allow_barekey, which relaxed enables, a bare key containing a
non-ASCII byte is stored as UTF-8 but looked up as raw bytes, so a
repeated key escapes the duplicate-key check and replaces the earlier
value.
From 4.41, under dupkeys_as_arrayref, a bare repeat replaces the array
that collects a key's values with a plain value, and the next quoted
repeat pushes onto that value as if it were an array. A JSON integer
there is dereferenced as a pointer.
Untrusted JSON decoded with relaxed and dupkeys_as_arrayref can crash
the process or dereference an address chosen by a JSON number.
Problem types
-------------
- CWE-843 Access of Resource Using Incompatible Type ('Type Confusion')
- CWE-176 Improper Handling of Unicode Encoding
Solutions
---------
Upgrade to Cpanel-JSON-XS 4.80 or later.
References
----------
https://github.com/rurban/Cpanel-JSON-XS/commit/c52037857d6a99d96ebd1ce3e2fa769505f028cf.patch
https://metacpan.org/release/RURBAN/Cpanel-JSON-XS-4.80/changes
https://www.cve.org/CVERecord?id=CVE-2026-9334
Timeline
--------
- 2026-10-14: Version 4.80 released with fix.