Critical (AgentArmorHQ estimate)Path traversal

Microsoft Kiota: Path/URL injection into generated Copilot plugin manifest via x-ai-* extensions

Product
Microsoft Kiota
CVE
CVE-2026-59864
Affected
Microsoft.OpenApi.Kiota and Microsoft.OpenApi.Kiota.Builder < 1.29.1 and >= 1.30.0, < 1.32.5
Fixed in
1.29.1 and 1.32.5

Last verified against sources: October 26, 2026

Am I affected?

Microsoft Kiota: affected Microsoft.OpenApi.Kiota and Microsoft.OpenApi.Kiota.Builder < 1.29.1 and >= 1.30.0, < 1.32.5. Fixed in 1.29.1 and 1.32.5.

What to do now

  1. Upgrade to Kiota 1.29.1, 1.32.5 or later and regenerate affected plugins. [1]

General practice, not from the source: if the affected software could read tokens or credentials, rotate them after upgrading; pin versions and review changes before updating tools your agents run.

Discuss this incident

What happened

  • kiota plugin add / kiota plugin generate (with -t APIPlugin) emits an attacker-controlled static_template.file path from the AI-plugin extensions (x-ai-adaptive-card, x-ai-capabilities) verbatim, with no path validation, into the generated Microsoft 365 Copilot / Teams plugin manifest (<name>-apiplugin.json). [1]
  • An attacker-controlled or compromised OpenAPI description can therefore embed a ../ / absolute path into the manifest's response_semantics.static_template.file. [1]
  • Confirmed on Kiota 1.32.4 (KIOTA_CONFIG_PREVIEW=true, the self-contained linux-x64 release binary). [1]

Impact

  • The injected path is written into the generated plugin manifest and realized downstream, when the plugin is packaged and sideloaded / deployed to an AI host (Microsoft 365 Copilot / Teams) that resolves static_template.file relative to the plugin package. [1]
  • This is not local code execution on the build host. [1]
  • Kiota is the propagation point: it fails to reject ../ and absolute paths in this provider-supplied field before writing it into the manifest. [1]

What was done

  • Fixed in 1.29.1 and 1.32.5 (https://github.com/microsoft/kiota/pull/7892). [1]
  • static_template.file from both x-ai-adaptive-card and x-ai-capabilities is validated as a relative path confined to the plugin output package. [1]
  • Regression tests cover .., absolute paths, and URI values. [1]

Sources

  1. GHSA-4jwf-m4wg-8p66 — GitHub Advisory Database

Every statement above was checked against these sources before publishing. Spotted an error? Tell us and we will correct it with a dated note.

Share advisory brief with your team

Copy a plain-text summary for Slack, GitHub issues, or team security channels.

Brief
[CVE-2026-59864] Microsoft Kiota: Path/URL injection into generated Copilot plugin manifest via x-ai-* extensions
Product: Microsoft Kiota | Affected: Microsoft.OpenApi.Kiota and Microsoft.OpenApi.Kiota.Builder < 1.29.1 and >= 1.30.0, < 1.32.5 | Fixed in: 1.29.1 and 1.32.5
Summary: `kiota plugin add` / `kiota plugin generate` (with `-t APIPlugin`) emits an attacker-controlled `static_template.file` path from the AI-plugin extensions (`x-ai-adaptive-card`, `x-ai-capabilities`) verbatim, with no path validation, into the generated Microsoft 365 Copilot / Teams plugin manifest (`<name>-apiplugin.json`).
Source & remediation on AgentArmorHQ: https://agentarmorhq.com/incidents/2026/07/cve-2026-59864-microsoft-kiota
Was this page useful?

Corrections

Report an error or request a correction. We review requests within 5 business days and add a dated correction note.

10 to 2,000 characters. A link to a source helps. Stored as plain text.

Discussions for CVE-2026-59864

Ask questions or share configuration tips. Governed by our Community Rules & Terms.

No posts match this filter yet.

Be the first to ask a question or share a working tip.

Check before you install

Paste a package name or a GitHub link and get a clear answer in seconds: Block, Review or No known issues. No account needed.

Check a package

Questions? Contact us