Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessPre-fetch guest session cookie + CSRF token
-
DeliveryWait for independent MySQL outage
-
ExploitCraft fails open, exposes installer action
-
ExecutionSubmit install/validate-site with ${CRAFT_SECURITY_KEY}
-
PersistApp::env() expands and returns secret
-
ImpactExfiltrate DB creds / API keys / security key
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A10:2025 - Mishandling of Exceptional Conditions
ASVS 5.0
V16 - Security Logging and Error Handling Fail-secure design
|
| Exploitation Conditions | Requires ALL of: (1) the target runs an affected Craft CMS 5.0.0-5.10.12 installation; (2) an independently-occurring database (MySQL) outage while PHP remains available - the vulnerability provides no way to induce this; (3) the attacker obtained a valid guest session cookie and matching CSRF token BEFORE the outage, and that session remains valid during it; (4) the attacker knows or guesses a predictable environment variable/constant name (e.g. Craft's conventional CRAFT_SECURITY_KEY). These stacked timing prerequisites - an outage the attacker cannot trigger plus a pre-positioned valid session - are the primary factors limiting real-world exploitation despite the network/unauthenticated vector. |
| Impact | This is a genuine but conditionally-gated confidentiality flaw, not a widespread-exploitation priority. The CVSS 4.0 vector (8.2, AV:N/AC:L/AT:P/PR:N/UI:N/VC:H/VI:N/VA:N) reflects the key tension: it is network-reachable and unauthenticated (PR:N), but carries AT:P (attack requirements) because exploitation depends on two conditions the attacker cannot create - an independently-occurring MySQL outage AND a still-valid guest session cookie plus matching CSRF token obtained BEFORE the outage. That AT:P is doing heavy lifting; in CVSS 3.1 terms this is better modeled as AC:H, giving a lower ~5.9 score. Impact is confidentiality-only (VC:H, VI:N/VA:N) - leaked secrets (security key, DB creds, API keys) could enable follow-on compromise, but this CVE itself grants only disclosure. No EPSS score, no CISA KEV listing, and no public POC were provided, so there is no signal of active or imminent exploitation. CWE-636 (fail-open / failure to fail securely) correctly captures the root cause: treating a DB connection error as 'not installed.' Net: a real bug worth patching, but the compound timing prerequisites make opportunistic mass exploitation unlikely - it favors a prepared, targeted attacker positioned before an outage. |
| Exploit ScenarioDerived | An attacker first visits the target Craft CMS site under normal operation to obtain a valid guest session cookie and CSRF token. When the site's MySQL backend later suffers an independent outage (while PHP stays up), Craft mistakenly believes it is uninstalled and re-exposes the anonymous install/validate-site action; the attacker replays their still-valid session to submit a predictable variable name such as CRAFT_SECURITY_KEY, which is expanded via App::env() and returned to them. No public exploit code has been identified at time of analysis. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Sep 16, 2026
Information disclosure in Craft CMS 5.0.0 through 5.10.12 can expose environment variables, secrets, database credentials, and other sensitive values when an independently occurring MySQL outage causes the application to treat the site as not installed. An unauthenticated attacker per the CVSS PR:N vector can reach anonymous installer actions such as install/validate-site if they previously obtained a valid guest session cookie and matching CSRF token and that session remains valid during the outage, then submit a predictable variable name and receive its expanded value. The flaw is gated by multiple stacked prerequisites, including an outage the attacker cannot induce and a pre-positioned valid session, and no public exploit identified at time of analysis; Craft CMS 5.10.13 contains the vendor fix.
RemediationAI
Vendor-released patch: 5.10.13; upgrade to Craft CMS 5.10.13 or later, per the vendor advisory GHSA-hfjh-gw6x-7pv5 (https://github.com/craftcms/cms/security/advisories/GHSA-hfjh-gw6x-7pv5) and the VulnCheck advisory (https://www.vulncheck.com/advisories/craft-cms-5.0.0-before-5.10.13-environment-secret-exposure-via-installer). If immediate patching is not possible, block or reject requests to Craft installer actions, especially install/validate-site, at the reverse proxy, WAF, or web server; this trades off legitimate installation or reconfiguration until the block is removed. Because the attack requires a pre-obtained guest session and matching CSRF token, shorten guest session lifetimes and rotate CSRF tokens frequently, accepting more frequent user re-authentication, and invalidate sessions during or after database outages. If exploitation is suspected, rotate the Craft security key (CRAFT_SECURITY_KEY), database credentials, and any API keys or environment secrets that could have been read; note that rotating the security key can invalidate existing sessions and may affect encrypted values.
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
Craft CMS is a PHP-based content management system that relies on a configured MySQL database. According to the advisory, a database connection failure is incorrectly treated as evidence that Craft is not installed, an instance of CWE-636 (Not Failing Securely, or failing open), which makes anonymous installer actions reachable even on a production site when PHP remains available but the configured MySQL endpoint does not. The affected action install/validate-site accepts a site name, serializes it through Site::getName(), and expands ${NAME} expressions using App::env(); this allows resolution of process environment variables, $_SERVER entries, PHP constants, and Craft secrets such as the conventional CRAFT_SECURITY_KEY, database credentials, or API keys. The provided CVSS 4.0 vector is AV:N/AC:L/AT:P/PR:N/UI:N with high confidentiality impact and no integrity or availability impact, while the independent assessment rates it as CVSS 3.1 AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N, reflecting that the attack complexity in practice is elevated by the required database outage and pre-existing guest session with CSRF token. The issue is tagged PHP and CSRF; no CPE strings were supplied, and no KEV or public exploit data is present.
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
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N
Network and unauthenticated (AV:N/PR:N), but AC:H because it needs an attacker-uninducible DB outage plus a pre-obtained valid session; confidentiality-only (C:H, I:N/A:N).
Primary rating from Vendor (vulncheck).
CVSS VectorVendor: vulncheck
Lifecycle Timeline
2DescriptionCVE.org
Craft CMS 5.0.0 through 5.10.12 treats a database connection failure as meaning that Craft is not installed, which makes anonymous installer actions - including install/validate-site - reachable on an installed production site whenever PHP remains available but the configured MySQL endpoint does not. The action accepts a site name, serializes it through Site::getName(), and expands ${NAME} expressions using App::env(). An unauthenticated attacker who obtained a guest session cookie and matching CSRF token before the outage and whose session remains valid during it can submit a predictable variable name (for example Craft's conventional CRAFT_SECURITY_KEY) and receive its value, disclosing Craft secrets, process environment variables, $_SERVER entries, or PHP constants such as the security key, database credentials, or API keys. The issue requires an independently occurring database outage; the vulnerability itself provides no way to induce it. Fixed in 5.10.13.
Technical POC Analysis
Bug class: CWE-636, Not Failing Securely ("Failing Open").
Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.
Executive ViewAI
Craft CMS releases 5.0.0 through 5.10.12 can expose environment variables, secrets, and database credentials to unauthenticated users, so any organization running these versions on an internet-facing site carries credential-exposure risk that extends beyond the CMS itself. The attack is not trivially reachable - it requires the attacker to already hold a valid guest session and CSRF token and to be present during a MySQL outage they cannot cause - and no public exploit identified at time of analysis, so the near-term likelihood is limited even though the consequence of leaked secrets is significant. Leadership should treat this as a patch-and-rotate exercise: upgrade impacted instances and assume any exposed credentials need replacement.
Apply vendor patch (Craft CMS 5.10.13).
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
Cross-Site Request Forgery exploits the automatic credential inclusion behavior of web browsers.
Craft CMS versions 3.x through 5.x contain a critical remote code execution vulnerability (CVSS 10.0) that allows unauth
Craft CMS stores arbitrary content provided by unauthenticated users in session files. Rated medium severity (CVSS 6.9),
Craft CMS is a platform for creating digital experiences. Rated critical severity (CVSS 9.8), this vulnerability is remo
Craft is a flexible, user-friendly CMS for creating custom digital experiences on the web and beyond. Rated critical sev
Craft CMS up to v3.7.31 was discovered to contain a SQL injection vulnerability via the GraphQL API endpoint. Rated crit
The SEOmatic component before 3.3.0 for Craft CMS allows Server-Side Template Injection that leads to RCE via malformed
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
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
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
An issue found in CraftCMS v.3.8.1 allows a remote attacker to execute arbitrary code via a crafted script to the Sectio
Craft CMS through 3.7.36 allows a remote unauthenticated attacker, who knows at least one valid username, to reset the a
Craft CMS 2.6.3000 allows remote attackers to execute arbitrary PHP code by using the "Assets->Upload files" screen and
EUVD-2026-81291
GHSA-fq6c-26cc-63cr
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB