Umbraco CMS
CVE-2025-66625
MEDIUM
Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate to backoffice Translations section
-
DeliveryInitiate dictionary import upload
-
ExploitProbe temp file paths via 500/404 responses
-
ExecutionEnumerate files and capture leaked NTLM hash
-
ImpactRelay or crack hash for lateral movement
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V14 - Data Protection Data exposure prevention
MITRE ATT&CK
2 techniques across 2 tactics: Collection, Discovery 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 backoffice account with access to the 'Translations' section, which exposes the dictionary import functionality (vendor-stated workaround confirms this is the sole exploitation path). Affected versions are 10.0.0 through 13.12.0. File-existence enumeration works on any hosting platform, but the NTLM-hash exposure is LIMITED to self-hosted Windows deployments running Umbraco under a privileged local or domain account; Umbraco Cloud sites run under low-privilege isolated Azure App Service worker identities and are effectively mitigated. The flaw does not permit reading or writing file contents - only inferring file existence and, conditionally, leaking a credential hash. |
| Impact | This is a genuine-but-moderate issue, not a drop-everything emergency. The CVSS 3.1 vector (AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:N/A:N, 4.9) is internally consistent with the description and the vendor advisory: network-reachable, low complexity, but requiring high privileges (an authenticated backoffice account with access to the Translations section) and yielding confidentiality-only impact with no integrity or availability effect. Multiple signals point to low real-world urgency: EPSS is only 0.36% (28th percentile), the CVE is NOT in CISA KEV, and no public exploit code is identified at time of analysis. There is no conflict between CVSS and the description - both agree the attacker must already be authenticated to the backoffice, so this is a privilege-escalation/post-authentication confidentiality problem rather than a pre-auth RCE. The nuance NVD's 4.9 does not capture is the downstream NTLM-hash exposure: per the GHSA advisory, self-hosted Windows deployments running Umbraco under privileged local or domain accounts could have that account's NTLM hash leaked, enabling relay or offline-crack attacks and potential lateral movement - a materially higher practical risk than the base score suggests. Conversely, Umbraco Cloud installs run under low-privilege isolated Azure App Service identities and are largely mitigated. Net: prioritize patching for self-hosted Windows installs with privileged service accounts; treat as routine for Cloud/low-privilege deployments. |
| Exploit ScenarioDerived | An attacker who already holds (or has phished/compromised) a backoffice account with access to the Translations section initiates a dictionary import and issues predictable requests against the temporary upload file paths, using the differing error responses (HTTP 500 for existing files, 404 for missing) to enumerate arbitrary files on the server. In a self-hosted Windows deployment running under a privileged account, the incomplete temp-file cleanup can additionally leak the service account's NTLM hash, which the attacker captures for offline cracking or relay. No public exploit code is identified at time of analysis. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 14, 2026
Authenticated backoffice users with access to the Translations section of Umbraco CMS 10.0.0 through 13.12.0 can enumerate the existence of arbitrary files on the server filesystem, and under certain Windows hosting setups may also obtain the NTLM hash of the account running the application. The dictionary import endpoint constructs predictable temporary file paths and reveals existence through differing error responses (HTTP 500 when the file exists, 404 when it does not), so no file contents can be read or written, though incomplete cleanup of temporary uploads can leak a credential hash when Umbraco runs under a privileged local or domain identity. Vendor-released patch: 13.12.1; no public exploit identified at time of analysis and EPSS is low (0.36%, 28th percentile).
RemediationAI
Upgrade to Umbraco CMS 13.12.1, the vendor-released patch version, which validates the upload file parameter, confines resolution to the TempFileUploads root, and returns a uniform 404 (fix commit: https://github.com/umbraco/Umbraco-CMS/commit/7505efd433189037f46547932d4a8b603fd4a615; advisory: https://github.com/umbraco/Umbraco-CMS/security/advisories/GHSA-hfv2-pf68-m33x). If immediate upgrade is not possible, the vendor's stated compensating control is to restrict backoffice access so that only fully trusted accounts hold the Translations/dictionary import permission, since the flaw cannot be triggered without that section - the trade-off is operational friction for content editors and does not eliminate risk from already-trusted insiders. For the NTLM-hash exposure specifically, reconfiguring the application to run under a low-privilege, non-domain service identity substantially reduces the downstream impact, at the cost of losing any resources that identity was previously trusted to reach; additionally, blocking outbound SMB (TCP 445/139) from the web tier and enforcing SMB signing with Extended Protection for Authentication blunts NTLM relay should a hash leak, though these require infrastructure changes outside the application and may break legitimate file-share integrations. Because exploitation requires authenticated backoffice access, monitoring and alerting on dictionary import requests that return mixed 500/404 responses is a useful detection side-effect of the patch rollout.
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in nuget
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
This is an information-exposure flaw (CWE-200) in the ASP.NET Core backoffice layer of Umbraco CMS, specifically the dictionary ('Translations') import functionality. The vulnerable code combined a caller-supplied 'file' parameter with a content-root path (MapPathContentRoot) without validating the value, allowing the server to probe predictable temporary-upload file paths; the commit at github.com/umbraco/Umbraco-CMS/commit/7505efd433189037f46547932d4a8b603fd4a615 fixes this by rejecting inputs containing invalid file-name characters or directory separators, resolving the path relative to a dedicated TempFileUploads directory, and returning a consistent 404. The differential responses (HTTP 500 for existing files, 404 for non-existent ones) form the oracle that turns the endpoint into a filesystem existence check. Separately, temporary upload files that are not fully cleaned up can be coerced into Windows authentication challenge-response traffic, exposing the NTLM hash of the identity under which the app pool runs; this is a credential-disclosure consequence rather than a file read/write primitive. Affected CPE data identifies the product as cpe:2.3:a:umbraco:umbraco_cms, matching the NuGet package Umbraco.Cms.
Know when Umbraco 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
AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:N/A:N
Exploitable only by an authenticated backoffice user with Translations access, so PR:H; network-reachable and low-complexity; confidentiality-only (file enumeration plus NTLM hash), no integrity or availability impact.
Primary rating from Vendor (github).
CVSS VectorVendor: github
DescriptionCVE.org
Umbraco is an ASP.NET CMS. Due to unsafe handling and deletion of temporary files in versions 10.0.0 through 13.12.0, during the dictionary upload process an attacker with access to the backoffice can trigger predictable requests to temporary file paths. The application’s error responses (HTTP 500 when a file exists, 404 when it does not) allow the attacker to enumerate the existence of arbitrary files on the server’s filesystem. This vulnerability does not allow reading or writing file contents. In certain configurations, incomplete clean-up of temporary upload files may additionally expose the NTLM hash of the Windows account running the Umbraco application. This issue is fixed in version 13.12.1.
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
Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.
Affected Products (CPE)CVE.org
More in Umbraco Cms
View allUmbraco CMS versions prior to 4.7.1 are vulnerable to unauthenticated remote code execution via the codeEditorSave.asmx
Umbraco Cloud 8.5.3 allows an authenticated file upload (and consequently Remote Code Execution) via the Install Package
Umbraco CMS v8.14.1 contains a server-side request forgery vulnerability that allows attackers to manipulate baseUrl par
A vulnerability was found in Umbraco CMS up to 10.7.7/12.3.6/13.5.2/14.3.1/15.1.1. Rated medium severity (CVSS 6.9), thi
A stored cross-site scripting (XSS) vulnerability in Umbraco CMS v14.3.1 allows attackers to execute arbitrary web scrip
An authenticated path traversal vulnerability exists during package installation in Umbraco CMS <= 8.9.1 or current, whi
Umbraco CMS 8.5.3 allows an authenticated file upload (and consequently Remote Code Execution) via the Install Package f
The FeedProxy.aspx script in Umbraco 4.7.0 allows remote attackers to proxy requests on their behalf via the "url" param
Arbitrary code execution in Umbraco CMS 16.3.3 is claimed via upload of a crafted PDF file that abuses insufficient file
Umbraco is a ASP.NET CMS. Rated critical severity (CVSS 9.8), this vulnerability is remotely exploitable, no authenticat
A stored XSS vulnerability exists in Umbraco CMS <= 8.9.1 or current. Rated medium severity (CVSS 5.4), this vulnerabili
A stored XSS vulnerability exists in Umbraco CMS <= 8.9.1 or current. Rated medium severity (CVSS 5.4), this vulnerabili
NVD
CVE.org
EPSS
GitHub
Exploit-DB