Summary
Umbraco: Delivery API leaks protected (Public Access) content through Content Picker / Multi-Node Tree Picker expansion
The Content Delivery API enforces member / Public Access protection only at the controller layer, against the node that is directly requested. When a public (unprotected) node references a protected node through a Content Picker or Multi-Node Tree Picker (including those nested inside Block List, Block Grid, or Rich Text Editor blocks), the Delivery API expands and serializes the protected node with no access check applied.
Similarly, configuration based restrictions based on aliases of allowed or disallowed content types are by-passed for referenced content items that are retrieved via property expansion.
As a result, an anonymous / unauthorized caller can retrieve a protected node's:
- Name, route, and id, always, even without expansion, and
- Full property values, when the request uses ?expand on the picker property.
A direct request for the same protected node correctly returns 401 Unauthorized, which makes the leak easy to miss: the protection appears to work, but is bypassed via reference expansion.
References
https://docs.umbraco.com/umbraco-cms/develop-with-umbraco/headless-and-apis/content-delivery-api
Impact
Confidential, member-gated content (e.g. pricing, internal documents, gated articles) referenced by any publicly readable node is disclosed to unauthenticated clients. No write/integrity or availability impact.
Highest impact when the Delivery API is publicly readable (DeliveryApi:PublicAccess: true).
Still exploitable, at reduced severity, when the Delivery API is gated by the org-wide API key (the key holder still bypasses per-node Public Access).
The application does not perform an authorization check before performing a sensitive operation. Typical impact: unauthorized access to restricted functionality or data.
Affected versions
Security releases
Kodem intelligence
Severity tells you how bad this could be in the worst case. It does not tell you whether you are exposed. Exploitability and impact are functions of runtime truth: whether the vulnerable code is present, reachable, and actually executes in your application. A vulnerable package can sit in your dependency tree and never run.
Kodem, an Intelligent Application Security platform, uses runtime intelligence to reveal which vulnerabilities actually execute in production, so teams prioritize the ones that genuinely matter. Kodem's runtime-powered SCA identifies whether this CVE is reachable in your applications.
Already deployed Kodem?
See it in your environmentNew to Kodem? Get a demo →Remediation advice
13.15.1, 17.5.3, 18.0.2
Frequently Asked Questions
- What is CVE-2026-69197? CVE-2026-69197 is a high-severity missing authorization vulnerability in Umbraco.Cms (nuget), affecting versions >= 12.0.0, < 13.15.1. It is fixed in 13.15.1, 17.5.3, 18.0.2. The application does not perform an authorization check before performing a sensitive operation.
- Which versions of Umbraco.Cms are affected by CVE-2026-69197? Umbraco.Cms (nuget) versions >= 12.0.0, < 13.15.1 is affected.
- Is there a fix for CVE-2026-69197? Yes. CVE-2026-69197 is fixed in 13.15.1, 17.5.3, 18.0.2. Upgrade to this version or later.
- Is CVE-2026-69197 exploitable, and should I be worried? Whether CVE-2026-69197 is exploitable in your environment depends on whether the vulnerable code is present and reachable. A CVSS score is a worst-case rating; it does not account for your specific deployment, configuration, or usage patterns. Kodem, an Intelligent Application Security platform, uses runtime intelligence to show which vulnerabilities actually execute in production, so you can focus on the ones that represent real risk. Get a demo
- What actually determines whether CVE-2026-69197 is exploitable, and how bad it is? Exploitability and impact are not fixed properties of a CVE. They depend on runtime truth: whether the vulnerable code is present, reachable, and actually executes in your application. A high CVSS score on a dependency that never runs is not the same as real risk. Kodem, an Intelligent Application Security platform, uses runtime intelligence to reveal which vulnerabilities actually execute in production, so teams prioritize the ones that genuinely matter.
- How do I fix CVE-2026-69197?
- Upgrade
Umbraco.Cmsto 13.15.1 or later - Upgrade
Umbraco.Cmsto 17.5.3 or later - Upgrade
Umbraco.Cmsto 18.0.2 or later
- Upgrade