Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessReach public Delivery API endpoint
-
DeliveryIdentify public node referencing protected content
-
ExploitRequest node with ?expand parameter
-
ExecutionExpansion strategy skips Public Access check
-
ImpactExfiltrate protected node name, route, id and property values
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 | The Content Delivery API must be enabled and configured for public consumption. Two concrete paths exist: (1) with DeliveryApi:PublicAccess enabled, an anonymous caller exploits it with no authentication; (2) when the Delivery API is gated by the organization-wide API key, a valid key holder exploits it. In both cases the content model must contain a publicly-accessible node that references a Public Access-protected node via a Content Picker or Multi-Node Tree Picker (including pickers nested in Block List, Block Grid, or Rich Text Editor blocks), and the attacker uses the ?expand query parameter to serialize the referenced node's property values. LIMITING FACTORS: the Delivery API is opt-in and not enabled by default; exploitation requires a specific content structure where protected content is referenced from unprotected content; impact is confidentiality-only (no write/DoS). The same path also bypasses allowed/disallowed content-type alias restrictions for referenced content. Affected versions are prior to 13.15.1, 17.5.3, and 18.0.2. |
| Impact | This is a genuine, well-substantiated confidentiality vulnerability. The vendor CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:N/UI:N/VC:H) describes remote, low-complexity, unauthenticated access to high-value confidential data, yielding an 8.7 (High). My independent view is slightly lower (~7.5 CVSS 3.1) because real-world exploitation is gated by non-default deployment choices - the Content Delivery API must be enabled AND either DeliveryApi:PublicAccess must be turned on (for the anonymous path) or the attacker must hold the organization-wide API key. Against those signals: there is no EPSS score, no CISA KEV listing, and no public exploit code provided in the intelligence, so this is 'no public exploit identified at time of analysis' rather than an actively-exploited threat. The impact is strictly confidentiality - the advisory explicitly states no integrity or availability impact and direct requests for protected nodes still return 401. Net: a real, patch-worthy access-control/information-disclosure flaw that should be prioritized for sites running the Delivery API with Public Access, but it is not a mass-exploitation emergency; the CWE-200 classification and confidentiality-only CVSS are internally consistent and confirmed by the source-code fix (member/Public Access checks added to referenced-node expansion). |
| Exploit ScenarioDerived | On an Umbraco site exposing the Content Delivery API with DeliveryApi:PublicAccess enabled, an anonymous attacker requests a public node that references a members-only/protected node through a Content Picker or Multi-Node Tree Picker (including pickers nested in Block List, Block Grid, or Rich Text Editor blocks), then appends ?expand to force serialization of the referenced node's full property values - retrieving content that a direct request would reject with 401. In the API-key-gated deployment, a key holder performs the same expansion to bypass per-node Public Access. No public proof-of-concept was provided in the intelligence sources. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Sep 17, 2026
Information disclosure in Umbraco CMS allows an unauthenticated caller (CVSS 4.0 vector AV:N/AC:L/PR:N/UI:N, independently assessed as CVSS 3.1 AV:N/AC:L/PR:N/UI:N/C:H/I:N/A:N, score 8.7) to read the name, route and id of Public Access-protected nodes, and - by appending ?expand - their full serialized property values, whenever those protected nodes are merely referenced from an unprotected page through Content Picker or Multi-Node Tree Picker properties, including pickers nested in Block List, Block Grid or Rich Text Editor blocks. The same RequestContextOutputExpansionStrategyV2 and ElementOnlyOutputExpansionStrategy code path also bypasses allowed/disallowed content-type alias restrictions for referenced content. All releases prior to 13.15.1, 17.5.3 and 18.0.2 are affected, but the Delivery API is opt-in and not enabled by default and exploitation additionally requires a content structure in which protected content is referenced from unprotected content; there is no integrity or availability impact, no public exploit identified at time of analysis, and no confirmed active exploitation. When the Delivery API is gated by the organization-wide API key rather than DeliveryApi:PublicAccess, a key holder can still bypass per-node Public Access through the same expansion path, so the disclosure is not limited to the anonymous configuration.
RemediationAI
Vendor-released patch: upgrade to Umbraco CMS 13.15.1, 17.5.3 or 18.0.2 (or a later release on the corresponding train) as described in the GitHub Security Advisory https://github.com/umbraco/Umbraco-CMS/security/advisories/GHSA-wr57-hqmp-fgvh, with the release artifacts at https://github.com/umbraco/Umbraco-CMS/releases/tag/release-13.15.1, https://github.com/umbraco/Umbraco-CMS/releases/tag/release-17.5.3 and https://github.com/umbraco/Umbraco-CMS/releases/tag/release-18.0.2; the upstream commits 26312a3f717a0f33bb3d7d28b14bef3592bdb0fe, 5360e2a9681ce2d0024be374e80339260bcc2511 and a9649da4e5a0786db7688bd6b5036a21df26b015 can be used to validate or backport the change. If immediate upgrade is not possible, the most effective compensating control is to remove the data path entirely: ensure no Public Access-protected node is referenced from a publicly reachable node through Content Picker or Multi-Node Tree Picker properties, including pickers nested in Block List, Block Grid and Rich Text Editor blocks - this is fully effective but constrains editorial content modelling. Disabling the Delivery API outright (DeliveryApi:Enabled false) closes the issue for headless deployments that can absorb the loss of the delivery surface, though it will break any external front end consuming it. Note that disabling DeliveryApi:PublicAccess is not a complete mitigation: it removes the anonymous path but the API-key-gated configuration remains exploitable by any key holder, so keys should be rotated, scoped to trusted clients and never embedded in browser-delivered JavaScript, and the /umbraco/delivery/api endpoints should be restricted at the network or reverse-proxy layer to known consumers, which reduces exposure but may break legitimate distributed clients. Allowed/disallowed content-type alias restrictions in the Delivery API should not be treated as an access control boundary until the patch is applied. Finally, treat the affected content as potentially disclosed and review logs of ?expand requests against referencing nodes for signs of enumeration.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 2 packages in nuget, euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
Umbraco is an ASP.NET (ASP.NET Core) headless CMS whose Content Delivery API serializes published content into JSON for front-end consumption, using pluggable output expansion strategies - RequestContextOutputExpansionStrategyV2 (which derives from ElementOnlyOutputExpansionStrategy) - to decide which properties are rendered and whether nested/referenced content is expanded. The root cause is CWE-200 (Exposure of Sensitive Information to an Unauthorized Actor): the strategies applied member and Public Access checks only to the directly requested node and never re-evaluated access for nodes returned by Content Picker or Multi-Node Tree Picker property value converters, so referenced IApiContent objects were serialized without an authorization gate. The upstream fix commits (26312a3f717a0f33bb3d7d28b14bef3592bdb0fe, 5360e2a9681ce2d0024be374e80339260bcc2511, a9649da4e5a0786db7688bd6b5036a21df26b015) inject IApiPublishedContentCache and IRequestMemberAccessService into both strategies and route every IApiContent or IEnumerable<IApiContent> property value through an ApplyContentAccessControl step: content not resolvable through the Delivery API published-content cache is omitted entirely (null for single references, filtered out of collections for Multi-Node Tree Pickers), and when the property is being expanded the service calls MemberHasAccessToAsync and, if the PublicAccessStatus is anything other than AccessAccepted, clears apiContent.Properties so the reference (e.g. a link that will still 401) is retained but its values are not leaked. The build metadata records only the unconstrained CPE cpe:2.3:a:umbraco:umbraco-cms:*:*:*:*:*:*:*:*, which means version-based detection must be performed against the 13.x, 17.x and 18.x release trains rather than relying on the CPE string, and the vulnerability affects the Delivery API rendering layer only - the back-office and direct node requests are unaffected.
Know when Umbraco 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:N/PR:N/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N
Network, low-complexity, anonymous exploitation under the PublicAccess path (PR:N); high confidentiality loss of protected content; no integrity/availability impact and no scope change to a separate authority.
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
2DescriptionCVE.org
Umbraco is an ASP.NET CMS. Prior to 13.15.1, 17.5.3, and 18.0.2, the Content Delivery API applies member and Public Access checks to the directly requested node but not to referenced nodes serialized through Content Picker or Multi-Node Tree Picker properties, including pickers nested in Block List, Block Grid, or Rich Text Editor blocks. When DeliveryApi:PublicAccess is enabled, an anonymous caller can retrieve a protected node's name, route, and id through an unprotected referencing node and use ?expand to retrieve full property values. When the Delivery API is instead gated by the organization-wide API key, a key holder can still bypass per-node Public Access through the same expansion path. The same RequestContextOutputExpansionStrategyV2 and ElementOnlyOutputExpansionStrategy path also bypasses allowed or disallowed content-type alias restrictions for referenced content. Direct requests for the protected node still return 401, and no integrity or availability impact is established. This issue is fixed in versions 13.15.1, 17.5.3, and 18.0.2.
Technical POC Analysis
Bug class: CWE-200 (Exposure of Sensitive Information to an Unauthorized Actor), with the advisory additionally tagging CWE-862 (Missing Authorization).
Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.
Executive ViewAI
Internet-facing Umbraco CMS deployments that have opted into the Delivery API and that reference Public Access-protected content from unprotected pages can leak that content's names, routes, identifiers, and - with a simple query-string addition - full serialized property values to any unauthenticated caller. Because no credentials are required and no public exploit code or confirmed active exploitation is known at this time, the primary risk is silent exposure of member-gated or otherwise restricted published material, which can carry contractual, regulatory, or reputational consequences for the business units relying on that CMS. Leadership should care because remediation depends on customer-side configuration (Delivery API enablement and content structure) rather than on a vendor patch that is currently available.
No vendor-released patch identified at time of analysis; interim mitigations are configuration- and content-based. Disable the opt-in Delivery API where it is not required, or restrict access to it via network controls or reverse-proxy/WAF rules that block '?expand' query parameters on Delivery API endpoints and rate-limit enumeration attempts. Audit and restructure content so that Public Access-protected nodes are not referenced from unprotected pages via Content Picker or Multi-Node Tree Picker properties, including pickers nested in Block List, Block Grid, and Rich Text Editor blocks, and independently enforce allowed/disallowed content-type alias restrictions on referenced content. Monitor Delivery API and web logs for unauthenticated expansion requests and treat any successful retrieval of protected node names, routes, IDs, or property values as a disclosure event requiring incident response. Upgrade to the first unaffected releases named in the advisory (13.15.1, 17.5.3, 18.0.2) as soon as vendor-verified builds are available.
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.
Umbraco CMS versions prior to 4.7.1 are vulnerable to unauthenticated remote code execution via the codeEditorSave.asmx
The Page_Load function in Umbraco.Web/umbraco.presentation/umbraco/dashboard/FeedProxy.aspx.cs in Umbraco before 7.4.0 a
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
Multiple cross-site scripting (XSS) vulnerabilities in Umbraco before 7.4.0 allow remote attackers to inject arbitrary w
Arbitrary code execution in Umbraco CMS 16.3.3 is claimed via upload of a crafted PDF file that abuses insufficient file
File upload vulnerability in Umbraco Forms v.8.7.0 allows unauthenticated attackers to execute arbitrary code via a craf
EUVD-2026-81902
GHSA-wr57-hqmp-fgvh
NVD
CVE.org
EPSS
Exploit-DB