### Impact A small OpenAPI document containing a circular schema reference can cause process termination through stack overflow in Microsoft.OpenApi. The issue affects OpenAPI document parsing through public OpenAPI.NET reader APIs and has been confirmed across both JSON and YAML reader paths. ## Affected versions - `>= 2.0.0-preview.11, <= 2.7.4` - `>= 3.0.0, <= 3.5.3` ### Patches - For the 2.X major version, versions 2.7.5 and above are patched. - For the 3.X major version, versions 3.5.4 and above are patched. - For the 1.X major version, the issue does not apply since that version of the library *could not* resolve references that pointed to another reference. ## Impact Applications, CLIs, developer tools, or services that parse untrusted OpenAPI documents in-process may be terminated by a crafted OpenAPI document containing circular schema references. The impact is availability/process termination only. This report does not claim remote code execution, authentication bypass, credential exposure, privilege escalation, data exposure, or Microsoft hosted service impact. ## Details A standalone isolated-process harness confirmed repeatable process termination through public OpenAPI.NET reader APIs. The issue reproduces in the affected released NuGet packages and affects both JSON and YAML reader paths. A separate Microsoft-owned local consumer, `microsoft/kiota`, also reproduces the termination through the `kiota show --openapi <file>` workflow. That workflow parses OpenAPI files in-process using Microsoft.OpenApi and Microsoft.OpenApi.YamlReader. ### Example payload ```json { "openapi": "3.0.0", "info": { "title": "Test", "version": "0.0.1" }, "paths": {}, "components": { "schemas": { "A": { "$ref": "#/components/schemas/B" }, "B": { "$ref": "#/components/schemas/A" } } } } ``` ## Remediation Users should upgrade to Microsoft.OpenApi `2.7.5` or `3.5.4`, depending on the major version line they consume. Applications that parse OpenAPI documents from untrusted sources should avoid parsing those documents in the primary application process when possible. Running parsing in an isolated process can reduce the blast radius of parser failures.
### Impact A small OpenAPI document containing a circular schema reference can cause process termination through stack overflow in Microsoft.OpenApi. The issue affects OpenAPI document parsing through public OpenAPI.NET reader APIs and has been confirmed across both JSON and YAML reader paths. ## Affected versions - `>= 2.0.0-preview.11, <= 2.7.4` - `>= 3.0.0, <= 3.5.3` ### Patches - For the 2.X major version, versions 2.7.5 and above are patched. - For the 3.X major version, versions 3.5.4 and above are patched. - For the 1.X major version, the issue does not apply since that version of the library *could not* resolve references that pointed to another reference. ## Impact Applications, CLIs, developer tools, or services that parse untrusted OpenAPI documents in-process may be terminated by a crafted OpenAPI document containing circular schema references. The impact is availability/process termination only. This report does not claim remote code execution, authentication bypass, credential exposure, privilege escalation, data exposure, or Microsoft hosted service impact. ## Details A standalone isolated-process harness confirmed repeatable process termination through public OpenAPI.NET reader APIs. The issue reproduces in the affected released NuGet packages and affects both JSON and YAML reader paths. A separate Microsoft-owned local consumer, `microsoft/kiota`, also reproduces the termination through the `kiota show --openapi <file>` workflow. That workflow parses OpenAPI files in-process using Microsoft.OpenApi and Microsoft.OpenApi.YamlReader. ### Example payload ```json { "openapi": "3.0.0", "info": { "title": "Test", "version": "0.0.1" }, "paths": {}, "components": { "schemas": { "A": { "$ref": "#/components/schemas/B" }, "B": { "$ref": "#/components/schemas/A" } } } } ``` ## Remediation Users should upgrade to Microsoft.OpenApi `2.7.5` or `3.5.4`, depending on the major version line they consume. Applications that parse OpenAPI documents from untrusted sources should avoid parsing those documents in the primary application process when possible. Running parsing in an isolated process can reduce the blast radius of parser failures.
Update Microsoft.OpenApi to 2.7.5; Microsoft.OpenAPI to 2.7.5; Microsoft.OpenAPI to 3.5.4 if you use the affected versions. Test the change in a non-production environment first.
Local check
hol-guard supply-chain scanMicrosoft.OpenAPI: Circular schema references may terminate OpenAPI parsing affects Microsoft.OpenApi (nuget), Microsoft.OpenAPI (nuget), Microsoft.OpenAPI (nuget). Severity is high. ### Impact A small OpenAPI document containing a circular schema reference can cause process termination through stack overflow in Microsoft.OpenApi. The issue affects OpenAPI document parsing through public OpenAPI.NET reader APIs and has been confirmed across both JSON and YAML reader paths. ## Affected versions - `>= 2.0.0-preview.11, <= 2.7.4` - `>= 3.0.0, <= 3.5.3` ### Patches - For the 2.X major version, versions 2.7.5 and above are patched. - For the 3.X major version, versions 3.5.4 and above are patched. - For the 1.X major version, the issue does not apply since that version of the library *could not* resolve references that pointed to another reference. ## Impact Applications, CLIs, developer tools, or services that parse untrusted OpenAPI documents in-process may be terminated by a crafted OpenAPI document containing circular schema references. The impact is availability/process termination only. This report does not claim remote code execution, authentication bypass, credential exposure, privilege escalation, data exposure, or Microsoft hosted service impact. ## Details A standalone isolated-process harness confirmed repeatable process termination through public OpenAPI.NET reader APIs. The issue reproduces in the affected released NuGet packages and affects both JSON and YAML reader paths. A separate Microsoft-owned local consumer, `microsoft/kiota`, also reproduces the termination through the `kiota show --openapi <file>` workflow. That workflow parses OpenAPI files in-process using Microsoft.OpenApi and Microsoft.OpenApi.YamlReader. ### Example payload ```json { "openapi": "3.0.0", "info": { "title": "Test", "version": "0.0.1" }, "paths": {}, "components": { "schemas": { "A": { "$ref": "#/components/schemas/B" }, "B": { "$ref": "#/components/schemas/A" } } } } ``` ## Remediation Users should upgrade to Microsoft.OpenApi `2.7.5` or `3.5.4`, depending on the major version line they consume. Applications that parse OpenAPI documents from untrusted sources should avoid parsing those documents in the primary application process when possible. Running parsing in an isolated process can reduce the blast radius of parser failures.
AI coding agents often install or upgrade packages automatically in nuget. A high vulnerability in a dependency can be pulled into a project through a normal install or update without a human reviewing the change, expanding the blast radius from a single package to every agent workspace that depends on it.
| Package | Affected range | Fixed version |
|---|---|---|
| Microsoft.OpenApinuget | >=2.0.0-preview.11,<=2.7.4 | 2.7.5 |
| Microsoft.OpenAPInuget | >=2.0.0-preview11,<=2.7.4 | 2.7.5 |
| Microsoft.OpenAPInuget | >=3.0.0,<=3.5.3 | 3.5.4 |
Fixed versions are reported by the source feed; confirm compatibility before updating.
Reported by GitHub Security Advisories (ghsa).
HOL Guard can help your team review package activity against supported protection paths.
Explore HOL GuardUpdate Microsoft.OpenApi to 2.7.5; Microsoft.OpenAPI to 2.7.5; Microsoft.OpenAPI to 3.5.4 if you use the affected versions. Test the change in a non-production environment first.
Local check
hol-guard supply-chain scanMicrosoft.OpenAPI: Circular schema references may terminate OpenAPI parsing affects Microsoft.OpenApi (nuget), Microsoft.OpenAPI (nuget), Microsoft.OpenAPI (nuget). Severity is high. ### Impact A small OpenAPI document containing a circular schema reference can cause process termination through stack overflow in Microsoft.OpenApi. The issue affects OpenAPI document parsing through public OpenAPI.NET reader APIs and has been confirmed across both JSON and YAML reader paths. ## Affected versions - `>= 2.0.0-preview.11, <= 2.7.4` - `>= 3.0.0, <= 3.5.3` ### Patches - For the 2.X major version, versions 2.7.5 and above are patched. - For the 3.X major version, versions 3.5.4 and above are patched. - For the 1.X major version, the issue does not apply since that version of the library *could not* resolve references that pointed to another reference. ## Impact Applications, CLIs, developer tools, or services that parse untrusted OpenAPI documents in-process may be terminated by a crafted OpenAPI document containing circular schema references. The impact is availability/process termination only. This report does not claim remote code execution, authentication bypass, credential exposure, privilege escalation, data exposure, or Microsoft hosted service impact. ## Details A standalone isolated-process harness confirmed repeatable process termination through public OpenAPI.NET reader APIs. The issue reproduces in the affected released NuGet packages and affects both JSON and YAML reader paths. A separate Microsoft-owned local consumer, `microsoft/kiota`, also reproduces the termination through the `kiota show --openapi <file>` workflow. That workflow parses OpenAPI files in-process using Microsoft.OpenApi and Microsoft.OpenApi.YamlReader. ### Example payload ```json { "openapi": "3.0.0", "info": { "title": "Test", "version": "0.0.1" }, "paths": {}, "components": { "schemas": { "A": { "$ref": "#/components/schemas/B" }, "B": { "$ref": "#/components/schemas/A" } } } } ``` ## Remediation Users should upgrade to Microsoft.OpenApi `2.7.5` or `3.5.4`, depending on the major version line they consume. Applications that parse OpenAPI documents from untrusted sources should avoid parsing those documents in the primary application process when possible. Running parsing in an isolated process can reduce the blast radius of parser failures.
AI coding agents often install or upgrade packages automatically in nuget. A high vulnerability in a dependency can be pulled into a project through a normal install or update without a human reviewing the change, expanding the blast radius from a single package to every agent workspace that depends on it.
| Package | Affected range | Fixed version |
|---|---|---|
| Microsoft.OpenApinuget | >=2.0.0-preview.11,<=2.7.4 | 2.7.5 |
| Microsoft.OpenAPInuget | >=2.0.0-preview11,<=2.7.4 | 2.7.5 |
| Microsoft.OpenAPInuget | >=3.0.0,<=3.5.3 | 3.5.4 |
Fixed versions are reported by the source feed; confirm compatibility before updating.
Reported by GitHub Security Advisories (ghsa).
HOL Guard can help your team review package activity against supported protection paths.
Explore HOL Guard