Severity by source
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
Spec is fetched over the network (AV:N) but the victim must run kiota info and then execute the suggested command (UI:R); successful injection yields full RCE in the user's context so C/I/A:H, scope unchanged.
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
4DescriptionCVE.org
Kiota is an OpenAPI based HTTP Client code generator. Prior to 1.32.5, kiota info read x-ms-kiota-info.languagesInformation.<language>.dependencyInstallCommand plus dependency name and version values from an OpenAPI description and presented the spec-supplied command as Kiota's recommended install command, allowing an attacker-controlled or compromised description to cause command injection when the suggested command was run manually or through the Kiota VS Code extension's kiota info --json dependency-install flow. This issue is fixed in version 1.32.5.
AnalysisAI
Command injection in Microsoft Kiota before 1.32.5 lets a malicious or compromised OpenAPI description dictate the install command that Kiota presents to developers. When a developer runs kiota info (or the VS Code extension's kiota info --json dependency-install flow) against an attacker-controlled spec, Kiota reads the x-ms-kiota-info.languagesInformation.<language>.dependencyInstallCommand field plus attacker-chosen dependency name/version values and surfaces them as its trusted recommended install command, achieving arbitrary command execution when that command is run. No public exploit has been identified at time of analysis and it is not in CISA KEV, but the fix explicitly removes the untrusted extension field.
Technical ContextAI
Kiota is Microsoft's OpenAPI-based HTTP client code generator (CLI plus a VS Code extension). The flaw sits in its handling of the proprietary x-ms-kiota-info OpenAPI extension, parsed in LanguageInformation.cs and OpenApiKiotaExtension.cs. Kiota trusted the dependencyInstallCommand template (e.g. dotnet add package {0} --version {1}) and interpolated the spec-supplied dependency name and version into it, then displayed the result as its own recommended command. This is a textbook CWE-94 (Improper Control of Generation of Code / Code Injection) issue: data from an untrusted document is promoted into an executable command string. The vendor fix (PR #7883) removes support for the extension entirely - Kiota no longer serializes or reads dependencyInstallCommand, treating it as untrusted, as confirmed by the added regression tests asserting the field is never emitted or parsed.
RemediationAI
Vendor-released patch: upgrade to Kiota 1.32.5, which removes support for the x-ms-kiota-info dependencyInstallCommand extension so spec-supplied install commands are no longer read or emitted (fix in PR https://github.com/microsoft/kiota/pull/7883, commit e1d6d76c6eecbe50785429166faaf8c831e036c6; advisory https://github.com/microsoft/kiota/security/advisories/GHSA-hq9q-27g5-qwpj). Update the Kiota VS Code extension to the build incorporating 1.32.5 as well, since its kiota info --json dependency-install flow is an affected path. Until patched, do not run kiota info against OpenAPI descriptions from untrusted or unverified sources, and never blindly execute the install command Kiota suggests - inspect it and construct the dotnet add package / npm / pip install command yourself from the known-good dependency name and version. The trade-off of that workaround is purely manual effort; it does not disable code generation, only the convenience of the auto-suggested install command.
Path traversal and code injection in Microsoft Kiota before 1.32.5 lets an attacker-controlled OpenAPI description write
Path traversal in Microsoft Kiota before 1.32.5 lets an attacker-controlled OpenAPI description inject unvalidated `stat
We need to produce a JSON object. All fields are plain text strings. We must synthesize from all provided data. We have
We need to produce a comprehensive JSON analysis. The user asks for a senior vulnerability analyst synthesis across mult
Code injection in Microsoft Kiota Ruby code generator allows remote code execution through crafted OpenAPI specification
Code injection in Microsoft Kiota's Python client generator (versions prior to 1.32.0) allows an attacker who controls a
Build-time SSRF, remote file inclusion, and local file inclusion in Microsoft Kiota before 1.32.5 lets an attacker-contr
Code injection in Microsoft Kiota versions prior to 1.31.1 allows attackers who control or tamper with OpenAPI descripti
Arbitrary file write via path traversal in Microsoft Kiota (OpenAPI HTTP client/plugin code generator) before 1.32.5 all
Same weakness CWE-94 – Code Injection
View allShare
External POC / Exploit Code
Leaving vuln.today
EUVD-2026-44933
GHSA-hq9q-27g5-qwpj