CVE-2026-59859
HighCVSS 8.7Exploitation Probability (EPSS)
Elevated risk60th percentile - higher than 60% of all known CVEs
Summary
Kiota, an OpenAPI based HTTP client code generator, prior to versions 1.29.1 and 1.32.4 contains a PHP code injection vulnerability. The PHP generator fails to escape the $ character in double-quoted strings, allowing attacker-controlled interpolation constructs to inject arbitrary PHP code into generated model and request-builder classes.
Risk Assessment
An attacker can inject malicious PHP code into generated code, potentially leading to remote code execution in environments where the generated code is used.
Recommendation
Upgrade Kiota to version 1.29.1 or 1.32.4 (or later) and regenerate clients to replace vulnerable code.
Other vulnerabilities in Kiota
See all- CVE-2026-59866Critical
Kiota before versions 1.29.1 and 1.32.5 did not sanitize clientClassName and clientNamespaceName values from OpenAPI descriptions, allowing generated source to be written outside the output directory and arbitrary text to be injected into class or namespace declarations.
- CVE-2026-59865Critical
Kiota before versions 1.29.1 and 1.32.5 displayed dependency install commands from an OpenAPI description as recommended, allowing command injection when the suggested command was run manually or via the VS Code extension.
- CVE-2026-59864Critical
Kiota before versions 1.29.1 and 1.32.5 in plugin add and plugin generate commands did not validate paths in the static_template.file field, allowing path traversal or out-of-package file inclusion in generated plugin manifests.
- CVE-2026-105796High
Kiota versions from 0.5.0 to 1.35.0 contain a vulnerability in the Java and PHP documentation-comment sanitizers that delete block-comment terminators rather than neutralizing them, allowing attacker-controlled OpenAPI text to be placed outside a comment. This can lead to code execution when the generated code is compiled and loaded. This is fixed in version 1.35.0.
- CVE-2026-105795Low
Kiota, an OpenAPI-based HTTP client code generator, from 1.25.1 to 1.35.0 copies x-ai-capabilities.response_semantics.oauth_card_path from an OpenAPI description into a generated plugin manifest without validating it as a safe package-relative file reference. This can allow crossing the plugin-package boundary or using an unintended authentication card. Fixed in version 1.35.0.
- CVE-2026-73851Medium
Kiota before versions 1.29.1 and 1.34.0 allows an attacker who controls or tampers with the OpenAPI description to 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.
- CVE-2026-59867High
Kiota before versions 1.29.1 and 1.32.5 resolved OpenAPI $ref values by fetching remote URLs and reading local file paths, allowing SSRF, remote file inclusion, and local file inclusion during client generation.
- CVE-2026-59863High
Kiota before versions 1.29.1 and 1.32.5 honored a poisoned workspace.json configuration without validating output paths, allowing generated files to be written outside the workspace root on a developer or CI host.
- CVE-2026-59862High
Kiota before versions 1.29.1 and 1.32.0 in the Python generator did not sanitize enum value descriptions, allowing Python code injection into generated comments that could be executed when modules are imported.
- CVE-2026-59861High
Kiota before versions 1.29.1 and 1.32.0 in the Ruby generator did not escape the # character in string literals, allowing arbitrary Ruby code injection into generated model classes.
Original NVD description (English source)
Kiota is an OpenAPI based HTTP Client code generator. Prior to 1.29.1 and 1.32.4, Kiota's PHP generator embedded OpenAPI description, default fields, property names, and other schema-derived strings into PHP double-quoted literals through SanitizeDoubleQuote() in Writers/StringExtensions.cs without escaping $, allowing attacker-controlled ${...}, $var, or {$obj->prop} interpolation constructs to inject arbitrary PHP code into generated model and request-builder classes. This issue is fixed in version 1.29.1 and 1.32.4.
Vulnerability data from NVD (NIST) · CISA KEV · EPSS

