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 (updated August 17, 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
  • nvd.nist.gov/vuln/detail/CVE-2026-73851

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. Dependency Scanning using SBOM also detects vulnerabilities from proprietary advisories that this site does not include. Learn more about Dependency Scanning using SBOM →

Affected versions

All versions before 1.29.1, all versions starting from 1.30.0 before 1.34.0

Fixed versions

  • 1.29.1
  • 1.34.0

Solution

Upgrade to versions 1.29.1, 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 Sun, 08 Nov 2026 00:17:19 +0000.