Advisory Database
  • Advisories
  • Dependency Scanning
  1. nuget
  2. ›
  3. Microsoft.OpenApi.Kiota
  4. ›
  5. GHSA-p5rm-jg5c-8c77

GHSA-p5rm-jg5c-8c77: Microsoft Kiota: Path traversal in generated plugin manifest static_template.file reference (percent-encoding bypass)

July 24, 2026

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:

InputDecodes to
%2e%2e/card.json../card.json
..%2f..%2f..%2f..%2f..%2f..%2fetc%2fpasswd../../../../../../etc/passwd
file%3A%2F%2F%2Fetc%2Fpasswdfile:///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 → ..).

References

  • github.com/advisories/GHSA-p5rm-jg5c-8c77
  • github.com/microsoft/kiota/commit/430008e9d700b3fe80f206c672415cfbd8e830e7
  • github.com/microsoft/kiota/commit/de3d18d9fe31ced4ac749728d3a2f94811f59268
  • github.com/microsoft/kiota/issues/7912
  • github.com/microsoft/kiota/pull/7910
  • github.com/microsoft/kiota/pull/7913
  • github.com/microsoft/kiota/releases/tag/v1.34.0
  • github.com/microsoft/kiota/security/advisories/GHSA-p5rm-jg5c-8c77

Code Behaviors & Features

Detect and mitigate GHSA-p5rm-jg5c-8c77 with GitLab Dependency Scanning

Secure your software supply chain by verifying that all open source dependencies used in your projects contain no disclosed vulnerabilities. Learn more about Dependency Scanning →

Affected versions

All versions before 1.34.0

Fixed versions

  • 1.34.0

Solution

Upgrade to version 1.34.0 or above.

Impact 6.5 MEDIUM

CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:N/A:N

Learn more about CVSS

Weakness

  • CWE-22: Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal')
  • CWE-829: Inclusion of Functionality from Untrusted Control Sphere

Source file

nuget/Microsoft.OpenApi.Kiota/GHSA-p5rm-jg5c-8c77.yml

Spotted a mistake? Edit the file on GitLab.

  • Site Repo
  • About GitLab
  • Terms
  • Privacy Statement
  • Contact

Page generated Sat, 08 Aug 2026 00:19:20 +0000.