Skip to main content

Microsoft Kiota EUVDEUVD-2026-44933

| CVE-2026-59865 CRITICAL
Code Injection (CWE-94)
2026-07-16 GitHub_M GHSA-hq9q-27g5-qwpj
9.3
CVSS 4.0 · Vendor: GitHub_M
Share

Severity by source

Vendor (GitHub_M) PRIMARY
9.3 CRITICAL
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
vuln.today AI
8.8 HIGH

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.

3.1 AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H
4.0 AV:N/AC:L/AT:N/PR:N/UI:A/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
X

Lifecycle Timeline

4
Patch available
Jul 16, 2026 - 17:03 EUVD
Source Code Evidence Fetched
Jul 16, 2026 - 15:51 vuln.today
Analysis Generated
Jul 16, 2026 - 15:51 vuln.today
CVE Published
Jul 16, 2026 - 14:43 cve.org
CRITICAL 9.3

DescriptionCVE.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.

Share

EUVD-2026-44933 vulnerability details – vuln.today

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy