Public mode

No access to your tenant or devices. Every item links to its source. What this means

Some sources, documents or advisories need attention: 275/275 feeds/APIs · 469/469 docs · 8/9 advisories · checked 21:27 UTC Customize Public modeDiscuss ChangeIntel on Discord

Kiota: Code Generation Literal Injection

Exact source revision recorded 23 Oct 2026 16:01:25 UTC. It does not establish the source's current position. Latest evidence.

osv · GHSA-2hx3-vp6r-mg3f

Published

# CVE Advisory (CVE-2026-41134): Code Generation Literal Injection in Kiota ## Summary Kiota versions **prior to 1.29.1 and 1.31.1** are affected by a code-generation literal injection vulnerability in multiple writer sinks (for example: serialization/deserialization keys, path/query parameter mappings, URL template metadata, enum/property metadata, and default value emission). When malicious values from an OpenAPI description are emitted into generated source without context-appropriate escaping, an attacker can break out of string literals and inject additional code into generated clients. ## Impact and Preconditions This issue is only practically exploitable when: 1. the OpenAPI description used for generation is from an **untrusted source**, or 2. a normally trusted OpenAPI description has been **compromised/tampered with**. If you only generate from trusted, integrity-protected API descriptions, risk is significantly reduced. ## Affected Versions - **Affected:** all versions **< 1.29.1** and **>= 1.30.0, < 1.31.1** - **Fixed:** **1.29.1, 1.31.1,** and later ## Illustrative Exploit Example ### Example OpenAPI fragment (malicious default value) ```yaml openapi: 3.0.1 info: title: Exploit Demo version: 1.0.0 components: schemas: User: type: object properties: displayName: type: string default: "\"; throw new System.Exception(\"injected\"); //" ``` ### Example generated C# snippet before fix (illustrative) ```csharp public User() { DisplayName = ""; throw new System.Exception("injected"); //"; } ``` The injected payload escapes the intended string context and introduces attacker-controlled statements in generated code. > Note: this exploit is not limited to default values, but may also impact properties names (serialization), path or query parameters, enum representations and other locations. ## Remediation 1. Upgrade Kiota to **1.31.1 or later**. 2. Regenerate/refresh existing generated clients as a precaution: ```bash kiota update ``` Refreshing generated clients ensures previously generated vulnerable code is replaced with hardened output. ## Acknowledgement We would like to thank the researcher Thanatos Tian(Polyu) for finding this issue and for his contribution to this open source project.

Source published
14 Apr 2026 23:39:41 UTC
Source modified
17 Aug 2026 15:15:07 UTC
Observed here
23 Oct 2026 16:01:25 UTC
Source terms
GitHub Advisory Database · CC-BY-4.0

Original source record · Cite this exact observation · Complete original publisher JSON

This view projects the publisher's source fields for reading; the original JSON retains additional fields and CVE enrichment containers. Attribution: osv · GitHub Advisory Database · CC-BY-4.0. Source text is retained; field grouping and change labels are provided by ChangeIntel.

CVSS_V3 · CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:N

CVSS_V4 · CVSS:4.0/AV:L/AC:L/AT:P/PR:N/UI:P/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N

Publisher rating · HIGH

ChangeIntel

An IT change radar: releases, security, known issues, retirements, documentation changes, and service status from public sources. Every item links to supporting evidence; dates and statuses can change after they are read.

Sources read 1 Nov 21:27 UTC · 275 of 275 readable · 272 fully read · documentation 469/469 current