CVE-2026-110681: Cpanel::JSON::XS versions before 4.80 for Perl use the parent interpreter's scalars from a parser object cloned into a new ithread

Published Oct 19, 2026
·
Updated

Cpanel::JSON::XS versions before 4.80 for Perl use the parent interpreter's scalars from a parser object cloned into a new ithread.

A parser object holds its callbacks and its incremental parse buffer as raw scalar pointers. When a thread is created, these are copied into the new interpreter unchanged, so the child's parser uses, and later frees, scalars that belong to the parent and may already have been freed there.

A parser created before a thread starts and used inside it can call freed callbacks, corrupt reference counts and crash the process.

Affected Software

1 affected component
cpan/Cpanel::JSON::XS<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:12 PM
Data Sourced
via MITRE·06:12 PM
RemedyDescriptionWeakness
Data Sourced
via NVD·07:17 PM
DescriptionWeakness

Frequently Asked Questions

1

Which applications are exposed to this issue?

Applications using Cpanel::JSON::XS before 4.80 are exposed when they create a parser object before starting a Perl ithread and then use that cloned parser in the new thread. The affected parser state includes callbacks and the incremental parsing buffer.

2

What must happen for exploitation or failure to occur?

A parser created in the parent interpreter must be cloned into a newly created ithread and used there. The child can then access or free scalar pointers owned by the parent, potentially invoking freed callbacks, corrupting reference counts, or crashing the process.

3

What can be done if upgrading is not immediately possible?

Avoid using parser objects created before thread creation inside ithreads. Create separate parser objects within each thread rather than allowing a parent-thread parser to be cloned and reused.

4

How can I determine whether my code is affected?

Review code for Cpanel::JSON::XS parser objects that are instantiated before Perl ithreads start and subsequently used from those threads. Pay particular attention to parsers configured with callbacks or used for incremental parsing.

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