Skip to main content

Cpanel::JSON::XS EUVDEUVD-2026-34060

| CVE-2026-9334 HIGH
Access of Resource Using Incompatible Type (Type Confusion) (CWE-843)
2026-06-03 CPANSec GHSA-qfqj-xxqv-cxfw
7.3
CVSS 3.1 · Vendor: CPANSec
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Identify Perl service decoding JSON with dupkeys_as_arrayref
  2. Delivery
    Send JSON body with duplicated key over scalar value
  3. Exploit
    Trigger SvRV() on non-reference scalar in decode_hv()
  4. Execution
    Dereference attacker-controlled bytes as SV pointer
  5. Impact
    Crash 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 {"a":"AAAA","a":"BBBB"} to a Perl-based HTTP API that decodes request bodies with Cpanel::JSON::XS configured with dupkeys_as_arrayref enabled. On the second occurrence of key a, decode_hv() calls SvRV() on the plain scalar "AAAA", treating attacker-controlled string bytes as a pointer to an SV and crashing the worker process; repeating the request denies service. No public proof-of-concept is identified at time of analysis, but the trigger pattern is evident from the upstream regression tests added in t/26_duplicate.t.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.0% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – 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

Cpanel::JSON::XS 0 <4.41

Affected Packages

euvd cpanel_json_xs fix: 4.41

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

Vendor (CPANSec) PRIMARY 7.3 HIGH
AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:L
SUSE HIGH

Primary rating from Vendor (CPANSec).

CVSS VectorVendor: CPANSec

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
Low
Integrity
Low
Availability
Low

Lifecycle Timeline

2
CVSS changed
Jun 03, 2026 - 18:22 NVD
7.3 (None) 7.3 (HIGH)
CVE Published
Jun 03, 2026 - 00:15 nvd
UNKNOWN (no severity yet)

DescriptionCVE.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

Why It Matters

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.

Business Impact: High
Compensating Controls

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

EPSS Score
0.0%
Top 96% exploitable
Social Media
1
Sightings
Data Quality
8 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment Vendor CIRCL GitHub VulDB

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.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 0.0%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
Yes
Human Impact
High
Technical Impact
Partial

Priority Score

36
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +36
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

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 2

More in Cpanel

View all
CVE-2026-67401 CRITICAL POC
9.9 Sep 09

Root-level remote code execution in WebPros cPanel is achievable by any mail-enabled account through a SQL injection fla

CVE-2023-29489 MEDIUM POC
6.1 Apr 27

An issue was discovered in cPanel before 11.109.9999.116. Rated medium severity (CVSS 6.1), this vulnerability is remote

CVE-2018-16236 MEDIUM POC
6.1 Aug 30

cPanel through 74 allows XSS via a crafted filename in the logs subdirectory of a user account, because the filename is

CVE-2026-93698 CRITICAL
9.9 Oct 02

OS command injection in cPanel and WP Squared allows an authenticated, low-privileged hosting account holder to execute

CVE-2020-26108 CRITICAL
9.8 Sep 25

cPanel before 88.0.13 mishandles file-extension dispatching, leading to code execution (SEC-488). Rated critical severit

CVE-2020-26105 CRITICAL
9.8 Sep 25

In cPanel before 88.0.3, insecure chkservd test credentials are used on a templated VM (SEC-554). Rated critical severit

CVE-2020-26101 CRITICAL
9.8 Sep 25

In cPanel before 88.0.3, insecure RNDC credentials are used for BIND on a templated VM (SEC-549). Rated critical severit

CVE-2020-26100 CRITICAL
9.8 Sep 25

chsh in cPanel before 88.0.3 allows a Jailshell escape (SEC-497). Rated critical severity (CVSS 9.8), this vulnerability

CVE-2020-26098 CRITICAL
9.8 Sep 25

cPanel before 88.0.3 mishandles the Exim filter path, leading to remote code execution (SEC-485). Rated critical severit

CVE-2020-10121 CRITICAL
9.8 Mar 17

cPanel before 84.0.20 allows a demo account to achieve code execution via PassengerApps APIs (SEC-546). Rated critical s

CVE-2020-10119 CRITICAL
9.8 Mar 17

cPanel before 84.0.20 allows a demo account to achieve remote code execution via a cpsrvd rsync shell (SEC-544). Rated c

CVE-2026-87900 CRITICAL
9.4 Sep 23

Argument injection in WP Toolkit for cPanel 6.11.2-10794 and earlier allows a remote authenticated (low-privileged, PR:L

Vendor StatusVendor

Debian

Bug #1138273
libcpanel-json-xs-perl
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

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy