Every CVE Search/ Get API key

CVE-2026-69197

Umbraco: Delivery API leaks protected (Public Access) content through Content Picker / Multi-Node Tree Picker expansion

8.7 HighFix available

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.

Attack profile

How easy it is to exploit

Attack vector
Network
Complexity
Low
Privileges needed
None
User interaction
None

What an attacker can affect

Confidentiality
High
Integrity
None
Availability
None

Exploit likelihood

0.66%Up 0.3 points since Sep 18, 2026
90%50%10%1%

What each source reports

CVE List Score used 8.7

Umbraco: Delivery API leaks protected (Public Access) content through Content Picker / Multi-Node Tree Picker expansion

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.

Record
CVE-2026-69197
CVSS 4.0
8.7 HighCVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N
Weakness
CWE-200, CWE-862
Updated
2026-11-02
EUVDEUVD-2026-81902 8.7

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.

Record
EUVD-2026-81902
CVSS 4.0
8.7 HighCVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N
Updated
2026-11-02
GitHub AdvisoriesGHSA-wr57-hqmp-fgvh 8.7

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.

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

Patches

13.15.1, 17.5.3, 18.0.2

References

https://docs.umbraco.com/umbraco-cms/develop-with-umbraco/headless-and-apis/content-delivery-api

Record
GHSA-wr57-hqmp-fgvh
CVSS 4.0
8.7 HighCVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N
Weakness
CWE-200, CWE-862
Updated
2026-11-02
NVD 8.7

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.

Record
CVE-2026-69197
CVSS 4.0
8.7 HighCVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
Weakness
CWE-200, CWE-862
Updated
2026-11-02
OSV 8.7

Umbraco: Delivery API leaks protected (Public Access) content through Content Picker / Multi-Node Tree Picker expansion

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.

Record
CVE-2026-69197
CVSS 4.0
8.7 HighCVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N
Weakness
CWE-200, CWE-862
Updated
2026-11-02
OSVGHSA-wr57-hqmp-fgvh 8.7

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.

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

Patches

13.15.1, 17.5.3, 18.0.2

References

https://docs.umbraco.com/umbraco-cms/develop-with-umbraco/headless-and-apis/content-delivery-api

Record
GHSA-wr57-hqmp-fgvh
CVSS 4.0
8.7 HighCVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N
Weakness
CWE-200, CWE-862
Updated
2026-11-02

Affected products

Affected packages

Affected packages
PackageAffectedFixed
Umbraco.Cms
NuGet
12.0.0 up to 13.15.1
13.15.1
Umbraco.Cms
NuGet
14.0.0-rc1 up to 17.5.3
17.5.3
Umbraco.Cms
NuGet
18.0.0 up to 18.0.2
18.0.2
Umbraco.Cms
NuGet
12.0.0 up to 13.15.1, plus listed versions
12.0.112.1.012.1.0-rc12.1.112.1.2
Show 45 moreShow less
12.2.012.2.0-rc12.3.012.3.0-rc12.3.112.3.1012.3.212.3.312.3.412.3.512.3.612.3.712.3.812.3.913.0.013.0.0-rc113.0.0-rc213.0.0-rc313.0.0-rc413.0.0-rc513.0.113.0.213.0.313.1.013.1.0-rc13.1.113.10.013.10.0-rc13.10.113.11.013.11.0-rc13.11.0-rc213.12.013.12.0-rc13.12.0-rc213.12.113.13.013.13.0-rc13.13.0-rc213.13.0-rc313.13.113.14.013.14.0-rc13.14.0-rc213.14.0-rc3
13.15.1
Umbraco.Cms
NuGet
14.0.0-rc1 up to 17.5.3, plus listed versions
14.0.014.0.0-rc214.0.0-rc314.0.0-rc414.0.0-rc5
Show 45 moreShow less
14.1.014.1.0-rc14.1.0-rc214.1.114.1.214.2.014.2.0-rc14.2.0-rc214.2.0-rc314.3.014.3.0-rc14.3.114.3.214.3.314.3.415.0.015.0.0-rc115.0.0-rc215.0.0-rc315.0.0-rc415.1.015.1.0-rc15.1.0-rc215.1.115.1.215.2.015.2.0-rc15.2.115.2.215.2.315.3.015.3.0-rc15.3.0-rc215.3.115.4.015.4.0-rc15.4.0-rc215.4.115.4.215.4.315.4.416.0.016.0.0-rc16.0.0-rc216.0.0-rc3
17.5.3
Umbraco.Cms
NuGet
18.0.0 up to 18.0.2, plus listed versions
18.0.1
18.0.2

History

History
RecordedChangedSources
first indexedCVE List, EUVD, GitHub Advisories, NVD, OSV

Dates are when Every CVE recorded each change. Upstream dates may differ.

In short

CVE-2026-69197 is a high vulnerability (CVSS 8.7) in Umbraco Umbraco-cms, published September 17, 2026. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.66%, the 51st percentile. Fixed in Umbraco.Cms 13.15.1.

References

Show 5 moreShow less
This page doesn't list everything

Left out here: 94 versions. The JSON record has them.

MoveEnter Open