Skip to main content

Craft CMS CVE-2026-109305

| EUVDEUVD-2026-97607 HIGH
Improper Neutralization of Special Elements Used in a Template Engine (CWE-1336)
2026-10-12 VulnCheck GHSA-xcjh-qqjq-gq4g
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 with System Messages permission
  2. Delivery
    Edit sandboxed Twig system message
  3. Exploit
    Inject 'has some'/'has every' with two-arg callable
  4. Execution
    Invoke passthru/system to run commands
  5. Impact
    Execute code as web user

Vulnerability Assessment

Weakness
CWE
ASVS 5.0
V1 - Encoding and Sanitization Template injection prevention
Exploitation Conditions

Exploitation requires an authenticated Craft CMS control-panel account holding the 'System Messages' permission (a non-admin-grantable permission), running an affected version from 5.10.2 up to but not including 5.10.14. The attacker must supply, within a sandboxed system-message Twig template, a two-argument PHP callable (e.g. passthru or system) invoked via the 'has some' or 'has every' operators, which the sandbox fails to block. The principal limiting factor is the permission gate: an attacker cannot exploit this without first obtaining an account that has been granted System Messages access, so installations that reserve this permission for trusted administrators face materially lower practical risk than multi-user or agency deployments that delegate it. Code executes with the privileges of the web server user, not necessarily root.

Impact

This is a genuine RCE but with an important access gate that tempers its real-world urgency. The CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:L/UI:N) and score of 8.7 reflect network reach, low complexity, no user interaction, and full VC:H/VI:H/VA:H impact - but PR:L confirms the attacker must already hold an authenticated Craft CMS control-panel account, and the description narrows this further to the specific 'System Messages' permission. This is therefore a privilege-escalation-to-RCE / sandbox-escape issue, not an unauthenticated internet-facing bug. No EPSS score, SSVC decision data, KEV listing, or POC indicator was supplied in the input, so exploitation probability cannot be quantified from the data provided; by the precision rules this is 'no public exploit identified at time of analysis.' Net assessment: a real priority for any Craft deployment that grants System Messages permission to semi-trusted or non-admin users (agencies, multi-author/multi-tenant setups), since it collapses a limited CMS permission into code execution as the web user; lower practical priority for single-admin installs where only fully trusted operators already have equivalent access. Reported by VulnCheck, which also published a dedicated advisory, lending credibility to the finding.

Exploit ScenarioDerived

A non-admin content editor who holds the 'System Messages' permission logs into the Craft CMS control panel and edits a system message template, inserting a Twig expression that uses the 'has some' or 'has every' operator to pass a two-argument callable such as passthru or system. When the sandboxed template renders, the callable executes, running arbitrary OS commands as the web server user. No public exploit code was identified in the provided data, and the low attack complexity (AC:L) means no special timing or conditions are needed once the attacker has the required permission.

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

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

Alert me

AnalysisAIv1 – Oct 12, 2026

Remote code execution affects Craft CMS 5.10.2 up to but not including 5.10.14, where the Twig sandbox fails to block PHP callables passed to the 'has some' and 'has every' operators inside sandboxed system-message templates. Exploitation requires an authenticated control-panel account that has been granted the System Messages permission - a permission that can be delegated to non-admin users - after which the attacker can invoke two-argument functions such as passthru or system and execute code with the privileges of the web server user. Per current intelligence there is no public exploit identified at time of analysis and the flaw is not confirmed actively exploited (CISA KEV); the permission gate is the main limiter, so deployments that reserve System Messages for trusted administrators face materially lower practical risk than multi-user or agency installations that delegate that permission broadly.

RemediationAI

Apply the vendor-released patch: Craft CMS 5.10.14, which is the first release outside the affected 5.10.2-to-before-5.10.14 range, and follow the guidance in advisory GHSA-vfcw-xv8p-8rj2 (https://github.com/craftcms/cms/security/advisories/GHSA-vfcw-xv8p-8rj2). If upgrading cannot be done immediately, the strongest compensating control is to audit and then revoke the System Messages permission from all non-admin users and groups - the bypass is unreachable without that permission, and the trade-off is that those users can no longer author or edit system-message templates. Additional containment, each with limited but non-zero value: run the PHP-FPM/web process under a least-privileged isolated account with open_basedir set and dangerous functions such as passthru and system disabled (accepting that a sandbox bypass may reach other callables, so this is not a substitute for patching); restrict control-panel access to trusted networks or enforce SSO/MFA so acquiring an account with the requisite permission is harder; and monitor application and web server logs for unexpected child processes or shell invocations spawned by the web user. Finally, re-review any custom or third-party code paths that render author-supplied Twig and confirm Twig's sandbox remains enabled wherever untrusted template input is accepted.

Affected VersionsENISA

CMS 5.10.2 <5.10.14

Affected Packages

euvd cms fix: 5.10.14

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

Craft CMS uses Twig as its template engine, and the Twig Sandbox extension (SecurityPolicy) is intended to restrict which tags, filters, functions, and methods templates may use - here it is applied to the control panel's System Messages templates. Craft CMS 5.10.2 exposed the Twig 3-style 'has some' and 'has every' operators, which accept a callable (typically an arrow function) to test sequence elements; the sandbox's callable allow-listing does not inspect the callables supplied to those operators, so a template author can pass a two-argument PHP callable such as passthru() or system() and have it invoked. This is tracked as CWE-1336 (improper neutralization of special elements used in a template engine), i.e. server-side template injection escalating to arbitrary code execution, not a memory-safety defect. Consistent with the assessed CVSS:3.1 vector AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H, the attack is network reachable and low complexity but demands low-privileged authenticated access; resulting code runs as the web server / PHP-FPM user rather than root unless that service account carries additional privileges. Affected code base is identified by the CPE cpe:2.3:a:craftcms:cms:*:*:*:*:*:*:*:*.

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

Exploitation needs an authenticated account with the System Messages permission (PR:L), is network-reachable via the control panel with low complexity and no user interaction, and yields full code execution (C/I/A:H).

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
Oct 12, 2026 - 18:03 EUVD
CVE Published
Oct 12, 2026 - 16:05 cve.org
HIGH 8.7

DescriptionCVE.org

Craft CMS from 5.10.2 before 5.10.14 contains a Twig sandbox bypass that allows non-admin users to invoke PHP callables through the "has some" and "has every" operators. Users with the System Messages permission can supply two-argument callables such as passthru or system in sandboxed templates to execute code as the web user.

Executive ViewAI

Why It Matters

Craft CMS versions 5.10.2 through before 5.10.14 contain a high-severity remote code execution flaw in Twig sandbox handling of system-message templates. A user with the System Messages permission can invoke PHP functions and execute code as the web server user, so organizations that delegate this permission beyond trusted administrators face the greatest risk. Leadership should prioritize permission review and monitoring, as no vendor-released patch is identified at time of analysis and no public exploit identified at time of analysis.

Business Impact: High
Compensating Controls

No vendor-released patch identified at time of analysis. Interim mitigations: restrict System Messages permission to trusted administrators, remove from non-admin and agency accounts, audit grants, enforce MFA and least privilege, limit control-panel exposure, monitor for passthru/system calls and template changes, and apply WAF or virtual patching if available.

Threat Intelligence Overview

EPSS Score
0.5%
Top 60% exploitable
Prevalence
Medium
popular PHP CMS but far smaller footprint than WordPress
Data Quality
5 sources
Confidence: Medium

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.5%
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· derived
Scheduled
Exploitation· derived
None
System Exposure· derived
Open
Automatable· derived
No
Human Impact
High

Priority Score

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

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

CVE-2025-5428 MEDIUM POC
6.3 Jun 02

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

CVE-2025-5427 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