Skip to main content

Craft CMS EUVDEUVD-2026-81293

| CVE-2026-92593 HIGH
Code Injection (CWE-94)
2026-09-16 disclosure@vulncheck.com GHSA-9v9g-4j69-p6q5
8.7
CVSS 4.0 · Vendor: vulncheck
View

Attack ChainAIDerived

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

  1. Access
    Authenticate as low-priv CP user with element edit rights
  2. Delivery
    Abuse elementLabelHtml self-signing oracle to sign Twig payload
  3. Exploit
    Replay token as redirect POST param
  4. Execution
    Reach unsandboxed renderObjectTemplate sink
  5. Persist
    Execute arbitrary PHP as web server
  6. Impact
    Full server compromise

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Code injection prevention, sandbox exec
MITRE ATT&CK

2 techniques across 2 tactics: Execution, Initial Access

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

Exploitation Conditions

Requires an authenticated Craft CMS control-panel account with edit rights on at least one element type (PR:L) - not anonymous or default-public. The core enabling conditions are two implementation flaws present in 5.10.0-5.10.12: the getPostedRedirectUrl() → renderObjectTemplate() redirect sink is unsandboxed, and Cp::elementLabelHtml() acts as a self-signing oracle that lets a low-privilege user obtain a valid HMAC token over arbitrary Twig. Because Craft/Yii tokens are not bound to a specific parameter name, a token signed for returnUrl can be replayed as the redirect POST parameter. No user interaction is required. Exploitation is limited to instances running the affected versions that grant the attacker a CP account with any element-edit permission; upgrading to 5.10.13 removes both the unsandboxed sink and the signing oracle.

Impact

This is a genuine high-priority issue, not a high-CVSS-but-low-real-risk case. The CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:L/UI:N) describes a network-reachable, low-complexity attack requiring only low privileges and no user interaction, with full VC:H/VI:H/VA:H impact - consistent with the description's claim of arbitrary PHP execution and full server compromise. The one meaningful barrier is PR:L: the attacker must already hold an authenticated control-panel account with edit rights on at least one element type, which contains blast radius to environments that provision such accounts. No EPSS score, no CISA KEV listing, and no public POC were provided, so exploitation status is 'no public exploit identified at time of analysis' - the risk is derived from the technical severity and the fact that this is an incomplete fix for a prior CVE (CVE-2026-55794), meaning the sink and the attack class were already publicly documented. That prior-disclosure context materially raises the practical likelihood that a working exploit is developed, even though none is confirmed today. No signals are conflicting; the main data gap is the absence of exploitation-probability telemetry (EPSS) and any POC confirmation.

Exploit ScenarioDerived

An attacker with a low-privilege Craft CMS control-panel account (edit rights on any single element type) abuses the self-signing oracle added in Cp::elementLabelHtml() to mint a valid Yii HMAC token over attacker-controlled Twig supplied as the returnUrl parameter. Because Craft/Yii tokens are not bound to a parameter name, the attacker replays that signed value as the redirect POST parameter, which flows into the unsandboxed getPostedRedirectUrl() → renderObjectTemplate() sink, achieving server-side template injection that executes arbitrary PHP. No public POC is referenced, but the flaw is a documented incomplete fix for CVE-2026-55794.

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

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

Alert me

AnalysisAIv1 – Sep 16, 2026

Server-side template injection in Craft CMS 5.10.0 through 5.10.12 allows an authenticated low-privilege control-panel user with edit rights on even a single element type to execute arbitrary PHP code and fully compromise the server. The bug is an incomplete fix for CVE-2026-55794: the Controller::getPostedRedirectUrl() to View::renderObjectTemplate() redirect sink stayed unsandboxed, and the same patch introduced a self-signing oracle in Cp::elementLabelHtml(); because Craft/Yii HMAC tokens are not bound to a parameter name, a token minted over attacker-controlled Twig for returnUrl can be replayed as the redirect POST parameter. Exploitation requires a valid CP account with element-edit permissions (PR:L, no user interaction); no public exploit code or confirmed active exploitation was identified at time of analysis, and the vendor-released patch is Craft CMS 5.10.13.

RemediationAI

Upgrade Craft CMS to 5.10.13 or later; this is the only complete fix, because a single release addresses both the unsandboxed getPostedRedirectUrl() to renderObjectTemplate() sink and the HMAC signing oracle in Cp::elementLabelHtml(), and vendor-released patch version 5.10.13 should be applied via your normal Composer/Docker image update path, followed by verification in Settings that the running version reports 5.10.13 or higher. Refer to https://github.com/craftcms/cms/security/advisories/GHSA-5jmw-g85v-7jv2 and https://www.vulncheck.com/advisories/craft-cms-5.10.0-before-5.10.13-authenticated-remote-code-execution for details. Until patching is complete, treat control-panel access as a privileged boundary: audit and temporarily remove element-edit permissions from untrusted or low-privilege CP accounts (including single-element-type editors), or disable/expire those accounts entirely - the trade-off is that legitimate content contributors lose editing capability, so coordinate with editorial teams and re-grant permissions only after upgrading. Where feasible, restrict the control panel path (by default /admin) to trusted source IPs or place it behind a VPN or zero-trust proxy; this blocks the needed POST requests but also blocks legitimate remote administr@tion and mobile content workflows. Review Craft and web server logs for POSTs containing Twig delimiters ({{, }}, {% %}) in a redirect or returnUrl parameter and for unexpected writes or process spawning from the PHP-FPM user, and consider temporary WAF rules targeting those delimiters as a best-effort filter - note these are easily evaded by encoding or alternate syntax and are not a substitute for 5.10.13. Rotate any secrets or credentials reachable from the Craft process in case prior exploitation occurred, since successful SSTI yields full PHP code execution in the application's context.

Affected VersionsENISA

CMS 5.10.0 <5.10.13

Affected Packages

euvd cms fix: 5.10.13

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

The root cause is CWE-94 (Improper Control of Generation of Code / code injection) arising from unsafe Twig evaluation. Craft CMS renders element labels and other UI strings through Yii's view layer, where View::renderObjectTemplate() compiles and evaluates a supplied string as a Twig template; in 5.10.0-5.10.12 this sink is reached from Controller::getPostedRedirectUrl() without the Twig sandbox extension, so attacker-influenced template source runs with PHP-level privileges rather than restricted object access. The second enabling flaw is in Cp::elementLabelHtml(), which - as added by the incomplete fix for CVE-2026-55794 - can be induced to generate a valid HMAC signature over arbitrary attacker-supplied Twig, acting as a signing oracle for a user who only has edit rights on one element type. Craft/Yii HMAC tokens are computed over the payload value without binding the signature to a specific parameter name, so a token legitimately signed for the returnUrl parameter is accepted when the identical value is submitted as the redirect POST parameter. This cross-parameter token reuse is what turns a low-privilege, permission-scoped account into a path to the unsandboxed template sink, and from there into arbitrary PHP execution and full server compromise. Upgrading to 5.10.13 removes both the unsandboxed redirect sink and the signing oracle; the affected lineage is Craft CMS 5.10.x, a PHP/Yii2-based content management system.

Know when Craft 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 8.7 HIGH
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
vuln.today AI 8.8 HIGH

Network-reachable low-complexity attack; PR:L because a low-privilege CP account with element edit rights is required; arbitrary PHP execution yields full C/I/A impact.

3.1 AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
4.0 AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/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
High
Vulnerable system: Availability
High
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

Lifecycle Timeline

2
Patch available
Sep 16, 2026 - 23:19 EUVD
CVE Published
Sep 16, 2026 - 22:18 cve.org
HIGH 8.7

DescriptionCVE.org

Craft CMS versions 5.10.0 through 5.10.12 contain an incomplete fix for CVE-2026-55794: the Controller::getPostedRedirectUrl() -> View::renderObjectTemplate() sink remained unsandboxed, and the same fix commit added a self-signing oracle in Cp::elementLabelHtml(). Because Craft/Yii HMAC tokens are not bound to a parameter name, an authenticated low-privilege control panel user with edit rights on a single element type can mint a token over attacker-controlled Twig for the returnUrl parameter and replay it as the redirect POST parameter, reaching the unsandboxed sink and achieving server-side template injection that executes arbitrary PHP code (full server compromise). The issue is fixed in 5.10.13.

Technical POC Analysis

CWE-94 (Improper Control of Generation of Code).

Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.

Executive ViewAI

Why It Matters

Craft CMS versions 5.10.0 through 5.10.12 contain a server-side template injection flaw that allows any control-panel user with edit rights on even a single element type to execute arbitrary PHP and fully take over the underlying server. Because the required access level is a low-privilege content-editing account rather than an administrator, editors, contractors, and agency-managed logins represent a direct path to full compromise. Leadership should prioritize remediation on any internet-facing Craft installation given the potential for complete server takeover, data exposure, and lateral movement into connected systems.

Business Impact: High
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.4%
Top 65% exploitable
Prevalence
Medium
Popular commercial PHP CMS, broadly used but not ubiquitous infrastructure
Data Quality
7 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment 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.4%
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
Total

Priority Score

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

Attack Technique

Code Injection CRITICAL

Code injection occurs when an application accepts user input and passes it directly into a language interpreter or evaluator without proper sanitization.

Remote Code Execution represents the critical moment when an attacker successfully runs arbitrary code on a target system without physical access.

CVE-2025-32432 CRITICAL POC
10.0 Apr 25

Craft CMS versions 3.x through 5.x contain a critical remote code execution vulnerability (CVSS 10.0) that allows unauth

CVE-2025-35939 MEDIUM
6.9 May 07

Craft CMS stores arbitrary content provided by unauthenticated users in session files. Rated medium severity (CVSS 6.9),

CVE-2023-41892 CRITICAL POC
9.8 Sep 13

Craft CMS is a platform for creating digital experiences. Rated critical severity (CVSS 9.8), this vulnerability is remo

CVE-2024-56145 CRITICAL POC
9.3 Dec 18

Craft is a flexible, user-friendly CMS for creating custom digital experiences on the web and beyond. Rated critical sev

CVE-2024-37843 CRITICAL POC
9.8 Jun 25

Craft CMS up to v3.7.31 was discovered to contain a SQL injection vulnerability via the GraphQL API endpoint. Rated crit

CVE-2020-9757 CRITICAL POC
9.8 Mar 04

The SEOmatic component before 3.3.0 for Craft CMS allows Server-Side Template Injection that leads to RCE via malformed

CVE-2026-28697 CRITICAL POC
9.1 Mar 04

RCE in Craft CMS before 4.17.0-beta.1/5.9.0-beta.1 via template injection for authenticated admins. PoC and patch availa

CVE-2025-68455 HIGH POC
8.6 Jan 05

Authenticated remote code execution in Craft CMS versions 5.0.0-RC1 through 5.8.20 and 4.0.0-RC1 through 4.16.16 lets an

CVE-2026-25495 HIGH POC
8.8 Feb 09

SQL injection in Craft CMS 4.0.0-RC1 through 4.16.17 and 5.0.0-RC1 through 5.8.21 allows authenticated Control Panel use

CVE-2023-30130 HIGH POC
8.8 May 12

An issue found in CraftCMS v.3.8.1 allows a remote attacker to execute arbitrary code via a crafted script to the Sectio

CVE-2022-29933 HIGH POC
8.8 May 09

Craft CMS through 3.7.36 allows a remote unauthenticated attacker, who knows at least one valid username, to reset the a

CVE-2018-3814 HIGH POC
8.8 Jan 01

Craft CMS 2.6.3000 allows remote attackers to execute arbitrary PHP code by using the "Assets->Upload files" screen and

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