The vulnerability, CVE-2026-69197, allows unauthorized access to protected content in Umbraco's Delivery API. The root cause is a missing authorization check during the expansion of nested content references. When a public content item references a protected item (e.g., via a Content Picker), and a client requests the public item with the ?expand query parameter, the API would serialize the full details of the protected item without verifying the client's access rights.
The analysis of the security patches (e.g., 26312a3f717a0f33bb3d7d28b14bef3592bdb0fe, 5360e2a9681ce2d0024be374e80339260bcc2511) points directly to the GetPropertyValue method within the ElementOnlyOutputExpansionStrategy class. In the vulnerable versions, this method simply retrieved the property's value and passed it along for serialization. It did not account for cases where the value was a reference to another content item that might have its own access restrictions.
The fix involves modifying GetPropertyValue to inspect the returned property value. If the value is an IApiContent object (or a collection of them), it now calls a new ApplyContentAccessControl method. This new method performs the crucial, previously missing access check. If the check fails, it clears the properties of the referenced content, ensuring that while the reference itself might be returned, the sensitive data within it is not leaked. The vulnerable function is therefore GetPropertyValue because it was the point where the expansion occurred without the necessary security validation.