Severity by source
AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Network-reachable with no auth or user interaction required; impact is purely availability via OOM process termination, with no confidentiality or integrity consequence.
Primary rating from Vendor (github).
CVSS VectorVendor: github
Lifecycle Timeline
4DescriptionCVE.org
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.
AnalysisAI
Uncontrolled memory consumption in Microsoft.OpenApi.YamlReader and Microsoft.OpenApi.Readers allows unauthenticated remote attackers to terminate a .NET host process by submitting a small, specially crafted YAML OpenAPI document containing nested anchors and aliases. The attack exploits a 'billion laughs' style amplification at the boundary between SharpYaml's directed acyclic graph representation and System.Text.Json.Nodes.JsonNode materialization: because a JsonNode cannot be shared across parents, each alias must be deep-copied independently, yielding k^N allocations for N nested anchor levels each referenced k times. …
Unlock full vulnerability intelligence
- Risk assessment & exploitation conditions
- Attack chain visualization
- Remediation with exact patch versions
- Threat intelligence from 22 sources
- Personal watchlist & email alerts
Free forever · No credit card required
Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata
Vulnerability AssessmentAI
| Exploitation | Exploitation requires that a .NET application invokes the public YAML reader APIs of Microsoft.OpenApi.YamlReader or Microsoft.OpenApi.Readers (e.g., OpenApiDocument.Load(), OpenApiReader.Read()) against attacker-controlled YAML input on an affected version. … Additional conditions and limiting factors are described in the full assessment. |
| Risk Assessment | The provided CVSS 3.1 vector AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H (7.5) accurately reflects the attack mechanics: network-reachable, no authentication, no user interaction, and high availability impact through process termination. … Full risk analysis with EPSS, KEV, and SSVC signal comparison available after sign-in. |
| Exploit Scenario | Full exploit scenario with step-by-step reproduction available after sign-in. |
| Remediation | Upgrade immediately to the patched versions: Microsoft.OpenApi.YamlReader 2.12.0 (for v2 users) or 3.10.0 (for v3 users), and Microsoft.OpenApi.Readers 1.6.30 or later. … Detailed patch versions, workarounds, and compensating controls in full report. |
Recommended ActionAI
Within 24 hours, identify all .NET applications using Microsoft.OpenApi libraries (YamlReader and Readers components) and determine which are exposed to untrusted external inputs or API specifications. …
Sign in for detailed remediation steps and compensating controls.
Threat intelligence, references, and detailed analysis are available after sign-in.
Same weakness CWE-400 – Uncontrolled Resource Consumption
View allSame technique Denial Of Service
View allShare
External POC / Exploit Code
Leaving vuln.today
EUVD-2026-73080