CVE-2026-110675: Cpanel::JSON::XS versions from 4.33 before 4.80 for Perl accept malformed UTF-8 in bare hash keys under allow_barekey in decode_hv

Published Oct 19, 2026
·
Updated

Cpanel::JSON::XS versions from 4.33 before 4.80 for Perl accept malformed UTF-8 in bare hash keys under allowbarekey in decodehv.

With utf8 and allowbarekey, which relaxed enables, a quoted key is validated as UTF-8 but a bare key's bytes are stored as a UTF-8 flagged string without any check. Malformed UTF-8, control bytes and backslashes reach the decoded hash, while malformed UTF-8 and control bytes in a quoted key or a value are rejected.

Later operations on the key, including lc, uc or encoding the hash again, die with a malformed UTF-8 error.

Affected Software

1 affected component
cpan/Cpanel::JSON::XS>=4.33<4.80

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Upgrade

    Upgrade Cpanel::JSON::XS to a version that resolves this vulnerability.

    Fixed in 4.80

Event History

Oct 19, 2026
CVE Published
via MITRE·06:11 PM
Data Sourced
via MITRE·06:11 PM
RemedyDescriptionWeakness
Data Sourced
via NVD·07:17 PM
DescriptionWeakness

Frequently Asked Questions

1

Which deployments are exposed to this behavior?

Affected deployments use Cpanel::JSON::XS versions from 4.33 before 4.80 and decode JSON with both utf8 and allow_barekey enabled. The relaxed option enables allow_barekey.

2

What does an attacker need to provide?

An attacker needs to supply input containing a malformed UTF-8 bare hash key to a vulnerable decoding path. Malformed UTF-8 in quoted keys or values is rejected, but a bare key can reach the decoded hash as a UTF-8-flagged string.

3

What can happen after malformed input is decoded?

Later processing of the affected hash key can fail with a malformed UTF-8 error. The described failing operations include lc, uc, and encoding the hash again.

4

What can be done before upgrading?

Avoid enabling allow_barekey for untrusted input; this may require avoiding relaxed mode, which enables allow_barekey. This prevents the vulnerable bare-key decoding path described here.

5

How can I identify potentially affected usage?

Check whether the installed Cpanel::JSON::XS version is 4.33 or later but earlier than 4.80, and review decode_hv call paths for utf8 together with allow_barekey or relaxed. Inputs that allow unquoted object keys are relevant to this issue.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203