Skip to main content

Craft CMS EUVDEUVD-2026-38160

| CVE-2026-56394 HIGH
Path Traversal (CWE-22)
2026-06-21 VulnCheck GHSA-jcmp-jxh2-4jc3
7.1
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

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

  1. Access
    Obtain low-privileged Craft CMS account
  2. Delivery
    Send crafted assets/icon request with traversal in extension param
  3. Exploit
    Bypass extension validation via existing SVG path
  4. Execution
    Server reads and returns target SVG file
  5. Impact
    Exfiltrate sensitive file contents

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V5 - File Handling Path canonicalization, traversal prevention
MITRE ATT&CK

2 techniques across 2 tactics: Discovery, Collection

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Attacker must hold valid authenticated credentials for the Craft CMS instance (PR:L - any logged-in user role that can reach the assets/icon controller is sufficient; no admin role required), and the target file must be an existing SVG file reachable on the filesystem from the icon directory via relative traversal. Limiting factors: the read primitive is constrained to files whose paths resolve through the icon-lookup logic as SVGs, not arbitrary file types; the target must be running an affected 4.0.0-RC1-4.17.6 or 5.0.0-RC1-5.9.12 release; and the attacker needs network reachability to the CMS control panel or asset endpoints, which are often behind authentication gateways or VPNs in hardened deployments.

Impact

The CVSS 4.0 vector AV:N/AC:L/AT:N/PR:L/UI:N with VC:H reflects a network-reachable, low-complexity bug that requires only a low-privileged authenticated session and yields high confidentiality impact (file read) but no integrity or availability impact - the 7.1 score is consistent with a meaningful but bounded exposure. The vendor classifies it as low-severity in their own advisory language, and the read primitive is limited to files that exist as SVG-resolvable paths on disk, which constrains what an attacker can actually exfiltrate compared with an arbitrary-file-read primitive. EPSS and KEV data were not provided, so widespread exploitation probability is unknown, but no public exploit identified at time of analysis and the requirement for an authenticated CMS account makes opportunistic mass exploitation unlikely. Priority should be elevated for multi-tenant Craft installations where untrusted users hold accounts, and routine for single-tenant deployments where all authenticated users are already trusted.

Exploit ScenarioDerived

An attacker with any authenticated Craft CMS account (for example a low-privileged content author on a multi-tenant site) sends a request to assets/icon with an extension parameter containing traversal sequences pointing at an SVG file outside the intended icon directory, such as one stored in the application or webroot. The server resolves the path, confirms the file exists, and returns its contents, giving the attacker read access to that SVG. No public PoC is published, but the upstream patch diff makes the exploitable code path and required payload shape obvious to anyone reviewing the commit.

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

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

Alert me

AnalysisAIv1 – Jun 22, 2026

Authenticated path traversal in Craft CMS (4.0.0-RC1 through 4.17.6 and 5.0.0-RC1 through 5.9.12) allows low-privileged users to read arbitrary SVG files on the server via the assets/icon endpoint's extension parameter, which was passed to file existence checks without validation. No public exploit identified at time of analysis, though VulnCheck published an advisory and the upstream fix is visible in commit 30f5f1a. Confidentiality impact is high but no integrity or availability impact, and exploitation requires valid authenticated session.

RemediationAI

Vendor-released patch: upgrade Craft CMS to 4.17.7 (for the 4.x branch) or 5.9.13 (for the 5.x branch), both of which include commit 30f5f1a8d6edf0f3a00be72c42c78d9dc7d72d5c that adds strict regex validation of the extension parameter in Assets.php; the advisory at https://github.com/craftcms/cms/security/advisories/GHSA-c43v-4cr8-6mvp documents the fix. If immediate upgrade is not possible, restrict access to the /assets/icon endpoint at the web server or WAF layer by blocking requests whose extension parameter contains anything other than alphanumeric characters (e.g. reject requests matching path-traversal patterns like ../ or %2e%2e), with the trade-off that legitimate icon lookups for unusual extensions may also be rejected. Additionally, audit and prune Craft CMS user accounts to minimise the population that can authenticate, since exploitation requires a valid low-privileged session.

Affected VersionsENISA

CMS 4.0.0-RC1 <4.17.7
CMS 5.0.0-RC1 <5.9.13

Affected Packages

composer craftcms/cms fix: 4.17.7, 5.9.13
euvd cms fix: 4.17.7, 5.9.13

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 2 packages in composer, euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

Craft CMS is a PHP-based content management system maintained by Pixel & Tonic. The vulnerability resides in src/helpers/Assets.php within the downloadFile() and iconUrl() helpers, which accepted a user-supplied extension string and used it to construct filesystem paths for icon lookups without sanitization. This is a classic CWE-22 (Improper Limitation of a Pathname to a Restricted Directory) flaw: traversal sequences such as ../../ embedded in the extension parameter resolved against the icon directory, and because the code only verified file existence (not that the resolved path stayed within the intended directory), any reachable SVG file on the host could be returned. The committed fix adds a strict preg_match('/^\w+$/', $extension) check that rejects anything other than alphanumerics and underscores.

Know when Cms 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 (VulnCheck) PRIMARY 7.1 HIGH
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N
vuln.today AI 6.5 MEDIUM

Network-reachable assets/icon endpoint exploitable by any authenticated user (PR:L), no user interaction, yields file read (C:H) with no integrity or availability impact.

3.1 AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N
4.0 AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N

Primary rating from Vendor (VulnCheck).

CVSS VectorVendor: VulnCheck

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
None
Privileges Required
Low
User Interaction
None
Vulnerable system: Confidentiality
High
Vulnerable system: Integrity
None
Vulnerable system: Availability
None
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

DescriptionCVE.org

Craft CMS from 4.0.0-RC1 contains an authenticated path traversal vulnerability in the assets/icon endpoint where the extension parameter is not validated before file existence checks. Attackers can bypass extension validation by passing traversal sequences that resolve to existing SVG files, allowing local file read access.

Executive ViewAI

Why It Matters

Craft CMS versions 4.0 through 4.17.6 and 5.0 through 5.9.12 contain an authenticated path traversal vulnerability allowing low-privileged users to read arbitrary SVG files from the server, creating a data confidentiality risk. Organizations using Craft CMS to manage web content and assets face potential exposure of sensitive files stored in accessible server directories. A vendor patch is available and should be prioritized for immediate deployment.

Business Impact: High
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.3%
Top 75% exploitable
Social Media
2
Sightings
Data Quality
7 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment 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.3%
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
No
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

Path traversal exploits occur when applications use user-controlled input to construct file system paths without proper validation.

More in Cms

View all
CVE-2020-7357 CRITICAL POC
9.9 Aug 06

Cayin CMS suffers from an authenticated OS semi-blind command injection vulnerability using default credentials. Rated c

CVE-2012-4405 MEDIUM
6.8 Sep 18

Multiple integer underflows in the icmLut_allocate function in International Color Consortium (ICC) Format library (iccl

CVE-2021-47753 CRITICAL POC
9.8 Jan 15

phpKF CMS 3.00 Beta allows unauthenticated PHP file upload by disguising it as a PNG, then renaming it for execution. Po

CVE-2019-9874 CRITICAL POC
9.8 May 31

Deserialization of Untrusted Data in the Sitecore.Security.AntiCSRF (aka anti CSRF) module in Sitecore CMS 7.0 to 7.2 an

CVE-2019-9875 HIGH POC
8.8 May 31

Deserialization of Untrusted Data in the anti CSRF module in Sitecore through 9.1 allows an authenticated attacker to ex

CVE-2026-113358 HIGH POC
8.7 Oct 20

Unauthenticated file disclosure in LavaLite CMS through 10.1.2 allows remote attackers to download private stored files

CVE-2026-56382 HIGH POC
8.6 Jun 21

Authenticated remote code execution in Craft CMS versions 5.5.0 through 5.9.13 allows admin users to execute arbitrary P

CVE-2012-5894 HIGH POC
7.5 Nov 17

SQL injection vulnerability in hava_post.php in Havalite CMS 1.1.0 and earlier allows remote attackers to execute arbitr

CVE-2012-5893 MEDIUM POC
6.8 Nov 17

Unrestricted file upload vulnerability in hava_upload.php in Havalite CMS 1.1.0 and earlier allows remote attackers to e

CVE-2015-2083 MEDIUM POC
6.8 Feb 25

Cross-site request forgery (CSRF) vulnerability in Ilch CMS allows remote attackers to hijack the authentication of admi

CVE-2012-5919 MEDIUM POC
4.3 Nov 19

Multiple cross-site scripting (XSS) vulnerabilities in Havalite 1.0.4 and earlier allow remote attackers to inject arbit

CVE-2025-5429 MEDIUM POC
6.3 Jun 02

A security vulnerability in juzaweb CMS (CVSS 6.3). Risk factors: public PoC available.

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