Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessIdentify Perl service decoding JSON with dupkeys_as_arrayref
-
DeliverySend JSON body with duplicated key over scalar value
-
ExploitTrigger SvRV() on non-reference scalar in decode_hv()
-
ExecutionDereference attacker-controlled bytes as SV pointer
-
ImpactCrash worker process and deny service
Vulnerability Assessment
| Weakness |
CWE
ASVS 5.0
V15 - Secure Coding and Architecture Type safety enforcement
MITRE ATT&CK
1 technique across 1 tactic: Execution The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitation requires that the target Perl application explicitly enables the non-default dupkeys_as_arrayref decoder option on its Cpanel::JSON::XS instance and then decodes attacker-supplied JSON containing at least one duplicated object key whose prior value is a plain scalar rather than an arrayref. No authentication or user interaction is needed at the JSON layer (CVSS PR:N/UI:N), but the attacker must have a delivery path into the decode call - typically an HTTP/API endpoint that forwards request bodies to JSON::XS->new->dupkeys_as_arrayref(1)->decode($input). Applications that leave dupkeys_as_arrayref at its default (off), use a different JSON module, or pre-validate input to reject duplicate keys are not exploitable. The vulnerability also requires Cpanel::JSON::XS strictly older than 4.41. |
| Impact | CVSS 7.3 (AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:L) reflects unauthenticated network reachability with low complexity, but the L/L/L impact triad is consistent with a crash/memory corruption read rather than reliable RCE, and CISA SSVC characterizes technical impact as 'partial' with exploitation status 'none'. EPSS is extremely low at 0.02% (4th percentile), and no public exploit has been identified at time of analysis, so the practical risk is dominated by denial of service against Perl services that decode untrusted JSON with the non-default dupkeys_as_arrayref option enabled. The CVSS Network vector is accurate only insofar as the JSON payload reaches the decoder (e.g. via an HTTP API); for libraries used in offline tooling the real attack surface is narrower. SSVC's 'Automatable: yes' is the most notable signal - a single short JSON payload can reliably trigger the crash - so exposed Perl web services with this option enabled should patch promptly even though raw exploitation probability is low. |
| Exploit ScenarioDerived | An attacker sends a small crafted JSON body such as |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Jun 03, 2026
Type confusion in Cpanel::JSON::XS (Perl) versions before 4.41 allows remote attackers to crash a decoder by submitting JSON with duplicate object keys when the dupkeys_as_arrayref option is enabled. The decode_hv() routine dereferences a scalar as a reference before verifying its type, turning attacker-controlled scalar contents into a wild pointer access. No public exploit identified at time of analysis; EPSS is 0.02% and CISA SSVC marks exploitation as 'none' but automatable with partial technical impact.
RemediationAI
Vendor-released patch: upgrade to Cpanel::JSON::XS 4.41 or later from CPAN (https://metacpan.org/release/RURBAN/Cpanel-JSON-XS-4.41/changes); the upstream commit is https://github.com/rurban/Cpanel-JSON-XS/commit/11a7c550a0d8fac2f84414f24d5df9b2bfe346e2 and the oss-security announcement is at https://seclists.org/oss-sec/2026/q2/791. Debian users should track bug #1138273 for backported packages across the 6 tracked releases. Until upgrade is possible, the effective workaround is to disable the dupkeys_as_arrayref decoder option (calling code should not set it on the JSON object), which fully eliminates the vulnerable code path at the cost of losing the ability to preserve duplicate JSON keys as arrayrefs - affected applications must instead reject or de-duplicate input upstream. As a secondary control, validate or size-limit JSON input at an API gateway before it reaches the Perl decoder to reduce the attacker's ability to deliver a triggering payload.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
Cpanel::JSON::XS is a widely deployed XS-backed Perl JSON encoder/decoder maintained by Reini Urban, used across CPAN modules and Linux distributions (Debian tracks 6 releases). The root cause is CWE-843 (Access of Resource Using Incompatible Type / type confusion): in XS.xs decode_hv(), when a second occurrence of a key is parsed under dupkeys_as_arrayref, the conditional SvTYPE(old_value) != SVt_RV && SvTYPE(SvRV(old_value)) != SVt_PVAV evaluates SvRV(old_value) eagerly. Because C's && does not short-circuit before both SvTYPE calls' arguments are computed, SvRV() is invoked on a plain scalar (SV), reinterpreting non-reference scalar contents as a pointer to an SV body. The upstream fix replaces the F_DUPKEYS_FIRST flag-based state machine with an explicit per-call HV tracking which keys have already been wrapped (dupkeys_seen), removing the unsafe SvRV call entirely.
Know when Cpanel gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:L
Primary rating from Vendor (CPANSec).
CVSS VectorVendor: CPANSec
Lifecycle Timeline
2DescriptionCVE.org
Cpanel::JSON::XS versions before 4.41 for Perl allow type confusion via duplicate object keys when dupkeys_as_arrayref is enabled.
decode_hv() collapses duplicate object keys into an array reference under dupkeys_as_arrayref. The branch reached for a duplicate key tests SvTYPE (old_value) != SVt_RV && SvTYPE (SvRV (old_value)) != SVt_PVAV, which evaluates SvRV(old_value) before establishing that old_value is a reference. When the existing value is a plain scalar rather than an array reference, a non-reference scalar is dereferenced as a reference.
A caller decoding untrusted JSON with dupkeys_as_arrayref enabled is crashed, and the incompatible access follows a pointer taken from attacker controlled scalar contents.
Executive ViewAI
Cpanel::JSON::XS, a Perl JSON processing library, contains a remote denial-of-service vulnerability (CVE-2026-9334) affecting versions before 4.41. No public exploit has been identified at time of analysis; however, remote attackers can craft malicious JSON to crash applications when the dupkeys_as_arrayref configuration option is enabled. Patch availability enables immediate remediation without architectural changes.
Apply vendor patch: Cpanel::JSON::XS 4.41 and later. Interim: Disable dupkeys_as_arrayref configuration option if application requirements permit; implement input validation to reject JSON payloads containing duplicate object keys.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Memory corruption occurs when a program writes data beyond the boundaries of allocated memory regions or accesses memory in unintended ways, violating the integrity of the process's address space.
Denial of Service attacks render applications or systems unavailable by overwhelming resources or triggering failure conditions.
Related Vulnerabilities in Cpanel::JSON::XS Type Confusion and DoS Flaws
View all 2Root-level remote code execution in WebPros cPanel is achievable by any mail-enabled account through a SQL injection fla
An issue was discovered in cPanel before 11.109.9999.116. Rated medium severity (CVSS 6.1), this vulnerability is remote
cPanel through 74 allows XSS via a crafted filename in the logs subdirectory of a user account, because the filename is
OS command injection in cPanel and WP Squared allows an authenticated, low-privileged hosting account holder to execute
cPanel before 88.0.13 mishandles file-extension dispatching, leading to code execution (SEC-488). Rated critical severit
In cPanel before 88.0.3, insecure chkservd test credentials are used on a templated VM (SEC-554). Rated critical severit
In cPanel before 88.0.3, insecure RNDC credentials are used for BIND on a templated VM (SEC-549). Rated critical severit
chsh in cPanel before 88.0.3 allows a Jailshell escape (SEC-497). Rated critical severity (CVSS 9.8), this vulnerability
cPanel before 88.0.3 mishandles the Exim filter path, leading to remote code execution (SEC-485). Rated critical severit
cPanel before 84.0.20 allows a demo account to achieve code execution via PassengerApps APIs (SEC-546). Rated critical s
cPanel before 84.0.20 allows a demo account to achieve remote code execution via a cpsrvd rsync shell (SEC-544). Rated c
Argument injection in WP Toolkit for cPanel 6.11.2-10794 and earlier allows a remote authenticated (low-privileged, PR:L
Same technique Denial Of Service
View allVendor StatusVendor
Debian
Bug #1138273| Release | Status | Fixed Version | Urgency |
|---|---|---|---|
| bullseye | vulnerable | 4.25-1 | - |
| bullseye (security) | vulnerable | 4.25-1+deb11u1 | - |
| bookworm, bookworm (security) | vulnerable | 4.35-1+deb12u1 | - |
| trixie (security), trixie | vulnerable | 4.39-2~deb13u1 | - |
| forky, sid | fixed | 4.41-1 | - |
| (unstable) | fixed | 4.41-1 | - |
SUSE
Severity: High| Product | Status |
|---|---|
| openSUSE Tumbleweed | Fixed |
| SUSE Linux Enterprise Module for Package Hub 15 SP7 | Fixed |
EUVD-2026-34060
GHSA-qfqj-xxqv-cxfw
NVD
CVE.org
EPSS
Vulnrichment
VulDB
Exploit-DB