mediumVulnerability

GHSA-p5rm-jg5c-8c77

### Impact Kiota generates AI plugin manifests from an OpenAPI description. When the description contains an `x-ai-capabilities` response semantics `static_template` (or the adaptive-card extension `x-ai-adaptive-card`), the `file` reference is written into the generated manifest's `response_semantics.static_template.file` and is later resolved by the AI host **relative to the plugin package**. An attacker who controls or tampers with the OpenAPI description consumed by Kiota can supply a `file` reference that resolves **outside** the manifest package (e.g. `../../../../etc/passwd`, an absolute path, or a `file://` / `http(s)://` URI). When the generated manifest is deployed and consumed by an AI host, this can lead to inclusion or disclosure of files outside the intended package boundary (CWE-22 Path Traversal, CWE-829 Inclusion of Functionality from an Untrusted Control Sphere). A mitigation shipped in v1.32.5 (`ExtensionResponseSemanticsStaticTemplate.IsSafeFileReference`) rejected literal traversal, rooted paths, drive-qualified paths, and absolute URIs. However, that check inspected the **raw** reference string, so **percent-encoded** payloads bypassed every check and were still emitted verbatim. Examples that were incorrectly accepted as safe: | Input | Decodes to | |-------|-----------| | `%2e%2e/card.json` | `../card.json` | | `..%2f..%2f..%2f..%2f..%2f..%2fetc%2fpasswd` | `../../../../../../etc/passwd` | | `file%3A%2F%2F%2Fetc%2Fpasswd` | `file:///etc/passwd` | | `%2e%2e%2f%2e%2e%2f%2e%2e%2fetc%2fpasswd` | `../../../etc/passwd` | Multi-level (double) encoding such as `%252e%252e%252fcard.json` was also affected. A follow-up review found additional residual bypasses of the same validator: an embedded NUL byte (`%00`) that truncated the path and defeated the parent-directory segment check, encoding nested deeper than the decode budget (which failed open), and Unicode full-width homoglyphs (e.g. `%EF%BC%8E%EF%BC%8E` → `..`). ### Patches - The percent-en

Properties

ghsa_id
GHSA-p5rm-jg5c-8c77
severity
medium
summary
Microsoft Kiota: Path traversal in generated plugin manifest static_template.file reference (percent-encoding bypass)
cve_id
GHSA-p5rm-jg5c-8c77
is_ghsa_only
true
ghsa_published
2026-07-24T16:14:56Z
source_url
https://github.com/advisories/GHSA-p5rm-jg5c-8c77
ghsa_updated
2026-07-24T16:14:58Z

Related Entities (5)

HAS_WEAKNESS (2)

[Weakness]Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal')
[Weakness]Inclusion of Functionality from Untrusted Control Sphere

REPORTED_BY (1)

[Source]GitHub Advisory Database

VULNERABLE_TO (1)

[Software]nuget/Microsoft.OpenApi.Kiota

AFFECTS (1)

[Software]nuget/Microsoft.OpenApi.Kiota

Explore deeper with Ninja Signal's threat intelligence graph