Description
Cpanel::JSON::XS versions from 4.43 before 4.80 for Perl misorder byte-string keys during canonical encoding in utf16_cmp.
canonical sorts keys by UTF-16 code units. When any key in a hash is UTF-8 flagged, every key is decoded as UTF-8 for the comparison, including byte-string keys that the encoder writes out as Latin-1 characters. A byte-string key whose bytes are valid UTF-8 is sorted out of order, and two keys that encode differently can compare equal and are left in hash order.
The same data can encode to different canonical documents across processes.
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| — | Cpanel-JSON-XS | 4.43 – < 4.80 | 4.80 |
Fixed in Linux distributions
Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.
Debian
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Debian 14 | libcpanel-json-xs-perl | 4.80-1 | — |
| Debian 13 | libcpanel-json-xs-perl | No fix yet | — |
| Debian 12 | libcpanel-json-xs-perl | No fix yet | — |
SUSE
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| SLES 15 SP7 | perl-Cpanel-JSON-XS | 4.800.0-150700.3.9.1 | SUSE-SU-2026:4926-1 |
openSUSE
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| openSUSE Tumbleweed | perl-Cpanel-JSON-XS | 4.800.0-1.1 | openSUSE-SU-2026:12217-1 |
| openSUSE Leap 16.0 | perl-Cpanel-JSON-XS | 4.800.0-bp160.1.1 | openSUSE-SU-2026:22187-1 |
Advisories 3
- openSUSE-SU-2026:22187-1 Security update for perl-Cpanel-JSON-XS SUSE / openSUSE Security Updates · Nov 1, 2026
- SUSE-SU-2026:4926-1 Security update for perl-Cpanel-JSON-XS SUSE / openSUSE Security Updates · Oct 29, 2026
- openSUSE-SU-2026:12217-1 perl-Cpanel-JSON-XS-4.800.0-1.1 on GA media SUSE / openSUSE Security Updates · Oct 22, 2026