CVE-2026-59863: Kiota: Workspace-config poisoning: out-of-repo file write + generation-time SSRF

Published Jul 16, 2026
·
Updated

Summary

Microsoft Kiota honors a poisoned .kiota/workspace.json — the workspace configuration that Kiota's documented team workflow has developers commit to their repository — unvalidated on kiota client generate / kiota plugin generate. A repository (or pull request) containing a malicious per-client / per-plugin outputPath causes Kiota, when a developer or CI runs the documented regenerate command, to (CWE-22) write the entire generated client to an arbitrary path outside the workspace — the outputPath was not confined to the workspace root and absolute paths were accepted.

Confirmed on Kiota 1.32.4 (KIOTACONFIGPREVIEW=true, the self-contained linux-x64 release binary).

Details

jsonc // .kiota/workspace.json (committed to the repo) "clients": { "MyClient": { "outputPath": "/abs/path/outside/repo/pwnedclient" // -> generated client written here (CWE-22) }}

Running kiota client generate --client-name MyClient in the repo writes MyClient.cs, P/PRequestBuilder.cs, … to the attacker-chosen outputPath (verified outside the working tree).

Note on descriptionLocation

The per-consumer descriptionLocation is intentionally fetched at generation time — this is how Kiota knows where to pull an updated description from when refreshing a client, the same way any other value in a committed lock/config file is honored. It is not treated as a vulnerability and is unchanged; only outputPath is now confined.

Impact

A malicious or compromised repository — or a malicious PR that edits .kiota/workspace.json — leads to arbitrary file write on the developer's or CI host's filesystem (overwrite source/build files, drop files in auto-loaded locations) whenever a teammate clones/pulls and runs the documented kiota client generate / kiota plugin generate to refresh the client. CWE-22.

This is a different trust boundary from the OpenAPI-description-based findings: the malicious input is the Kiota config, not the spec.

Patches

Fixed in 1.32.5 (https://github.com/microsoft/kiota/pull/7885). On loading a workspace configuration, each client/plugin outputPath is validated to be a relative subdirectory of the workspace: null/empty, rooted paths (POSIX /, UNC \\ / //, Windows drive X:\), and any .. traversal segment are rejected, and the resolved full path must stay under the workspace root. Generation aborts with an error if any consumer's outputPath escapes the workspace.

Remediation

Upgrade to Kiota 1.32.5 or later. Review any committed workspace configs for outputPath values that point outside the workspace.

Other sources

Kiota is an OpenAPI based HTTP Client code generator. Prior to 1.29.1 and 1.32.5, Kiota honored a poisoned .kiota/workspace.json workspace configuration without validating per-client or per-plugin outputPath values during kiota client generate and kiota plugin generate, allowing a malicious repository or pull request to use absolute paths, rooted POSIX / paths, UNC \\ or // paths, Windows drive X:\ paths, or .. traversal segments to write generated client files outside the workspace root on a developer or CI host. This issue is fixed in version 1.29.1 and 1.32.5.

NVD

Kiota is an OpenAPI based HTTP Client code generator. Prior to 1.32.5, Kiota honored a poisoned .kiota/workspace.json workspace configuration without validating per-client or per-plugin outputPath values during kiota client generate and kiota plugin generate, allowing a malicious repository or pull request to use absolute paths, rooted POSIX / paths, UNC \\ or // paths, Windows drive X:\ paths, or .. traversal segments to write generated client files outside the workspace root on a developer or CI host. This issue is fixed in version 1.32.5.

MITRE

Affected Software

3 affected componentsFixes available
Kiota Kiota<1.32.5
nuget/Microsoft.OpenApi.Kiota.Builder<1.32.5
1.32.5
nuget/Microsoft.OpenApi.Kiota<1.32.5
1.32.5

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Upgrade

    Upgrade nuget/Microsoft.OpenApi.Kiota.Builder to a version that resolves this vulnerability.

    Fixed in 1.32.5
  2. Upgrade

    Upgrade nuget/Microsoft.OpenApi.Kiota to a version that resolves this vulnerability.

    Fixed in 1.32.5
  3. Upgrade

    Upgrade microsoft/kiota to a version that resolves this vulnerability.

    Fixed in 1.32.5
  4. Configuration

    Review committed `.kiota/workspace.json` files and ensure each per-client/per-plugin `outputPath` used by `kiota client generate` / `kiota plugin generate` is validated to be a relative subdirectory of the workspace root. Reject absolute rooted POSIX paths ('/'), UNC paths ('\\' or '//'), Windows drive paths ('X:\'), and any '..' traversal segments that would escape the workspace root during generation-time writes.

    Microsoft Kiota workspace configuration (.kiota/workspace.json) outputPath (per-client/per-plugin) = a relative subdirectory of the workspace root only (no null/empty; no absolute paths; no '..' traversal; no rooted POSIX '/', UNC '\' or '//' , no Windows drive 'X:\')

Event History

Jul 16, 2026
CVE Published
via MITRE·02:42 PM
Data Sourced
via MITRE·02:42 PM
DescriptionWeakness
Data Sourced
via NVD·03:16 PM
DescriptionSeverityWeakness
Jul 24, 2026
Advisory Published
via GitHub·04:11 PM
Data Sourced
via GitHub·04:11 PM
DescriptionWeaknessAffected Software
Free Weekly Intel

Don't miss critical vulnerabilities

Join thousands of security professionals who receive our weekly digest of trending CVEs, zero-days, and exploited vulnerabilities.

No spam. Unsubscribe anytime.

Frequently Asked Questions

1

What is the severity of CVE-2026-59863?

The severity of CVE-2026-59863 is classified as high with a CVSS score of 7.

2

What kind of vulnerability is CVE-2026-59863?

CVE-2026-59863 is a path traversal vulnerability affecting Kiota that can lead to workspace-config poisoning.

3

How does CVE-2026-59863 affect Kiota?

CVE-2026-59863 allows a malicious repository to manipulate the .kiota/workspace.json configuration, enabling file writes and possible SSRF at generation time.

4

How do I fix CVE-2026-59863?

To fix CVE-2026-59863, upgrade to Kiota version 1.32.5 or later where the vulnerability is addressed.

5

What should I do if I'm using an affected version of Kiota regarding CVE-2026-59863?

If you are using an affected version of Kiota, you should immediately update to the latest version to mitigate the risk of exploitation.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203