CVE-2026-72923: Microsoft.OpenApi.YamlReader/Readers vulnerable to denial of service via YAML alias expansion
In Microsoft.OpenApi.YamlReader from 2.0.0-preview.11 until 2.12.0 and from 3.0.0 until 3.10.0, and in Microsoft.OpenApi.Readers prior to 1.6.30, a small YAML OpenAPI document containing nested anchors and aliases can cause uncontrolled resource consumption when parsed through the public YAML reader APIs. YAML is parsed through SharpYaml, which represents aliases as shared nodes in a directed acyclic graph, so the parsed YAML graph stays small, but converting that graph to System.Text.Json.Nodes.JsonNode requires every alias to be materialized as an independent node because a JsonNode cannot be attached to multiple parents. Without a bound on that conversion work, a document with N nested anchors each referenced k times can require k^N materialized JSON nodes, leading to excessive memory allocation and process termination through out-of-memory conditions, a billion laughs style denial of service. The patched versions bound the YAML-to-JSON conversion by node count and nesting depth and report an OpenApiDiagnostic error instead of expanding without limit. This vulnerability is fixed in Microsoft.OpenApi.YamlReader 2.12.0 and 3.10.0, and Microsoft.OpenApi.Readers 1.6.30.
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
Microsoft.OpenApi.YamlReaderto a version that resolves this vulnerability.Fixed in 2.12.0 - Upgrade
Upgrade
Microsoft.OpenApi.YamlReaderto a version that resolves this vulnerability.Fixed in 3.10.0 - Upgrade
Upgrade
Microsoft.OpenApi.Readersto a version that resolves this vulnerability.Fixed in 1.6.30
Event History
Frequently Asked Questions
Which applications are realistically exposed to this denial-of-service condition?
Applications are exposed if they use the public YAML reader APIs in affected Microsoft.OpenApi.YamlReader or Microsoft.OpenApi.Readers versions and parse YAML OpenAPI documents that an attacker can supply or influence. The impact is excessive memory allocation that can terminate the process.
What does an attacker need to provide to trigger the issue?
An attacker needs to cause the application to parse a small YAML OpenAPI document containing nested anchors and aliases. No authentication, user interaction, or special access is required according to the supplied vector.
Which versions contain the fix?
The issue is fixed in Microsoft.OpenApi.YamlReader 2.12.0 and 3.10.0, and in Microsoft.OpenApi.Readers 1.6.30. Affected YamlReader ranges are 2.0.0-preview.11 through versions before 2.12.0, and 3.0.0 through versions before 3.10.0; Readers versions before 1.6.30 are affected.
What happens after upgrading when a document exceeds the safe conversion limits?
Patched versions bound YAML-to-JSON conversion by node count and nesting depth. Rather than expanding aliases without limit, they report an OpenApiDiagnostic error.