CVE-2026-59866
KrytyczneCVSS 9.3Prawdopodobieństwo exploitacji (EPSS)
Podwyższone ryzykoPercentyl 69 - wyżej niż 69% wszystkich znanych CVE
Streszczenie
Kiota przed wersjami 1.29.1 i 1.32.5 nie sanityzował wartości clientClassName i clientNamespaceName z opisu OpenAPI, co pozwalało na zapis wygenerowanego kodu poza katalogiem wyjściowym i wstrzyknięcie dowolnego tekstu do deklaracji klas lub przestrzeni nazw.
Ocena ryzyka
Złośliwy opis OpenAPI może prowadzić do nadpisania plików poza katalogiem projektu lub wstrzyknięcia złośliwego kodu do wygenerowanych klas, co może skutkować wykonaniem kodu podczas kompilacji lub uruchomienia.
Rekomendacja
Zaktualizuj Kiota do wersji 1.29.1 lub 1.32.5, która zawiera poprawki sanityzacji nazw klas i przestrzeni nazw.
Inne podatności w Kiota
Zobacz wszystkie- CVE-2026-73851Średnie
Kiota przed wersjami 1.29.1 i 1.34.0 pozwala atakującemu, który kontroluje lub modyfikuje opis OpenAPI, na dostarczenie referencji do pliku spoza pakietu manifestu (np. ../../../../etc/passwd, ścieżka bezwzględna lub URI file:// / http(s)://). Po wdrożeniu manifestu przez hosta AI może to prowadzić do ujawnienia plików spoza zamierzonego pakietu.
- CVE-2026-59865Krytyczne
Kiota przed wersjami 1.29.1 i 1.32.5 wyświetlał polecenia instalacji zależności pochodzące z opisu OpenAPI jako zalecane, co pozwalało na wstrzyknięcie komend, gdy użytkownik uruchomił sugerowane polecenie ręcznie lub przez rozszerzenie VS Code.
- CVE-2026-59864Krytyczne
Kiota przed wersjami 1.29.1 i 1.32.5 w poleceniach plugin add i plugin generate nie walidował ścieżek w polu static_template.file, co pozwalało na path traversal lub dołączanie plików spoza pakietu w wygenerowanych manifestach pluginów.
- CVE-2026-59867Wysokie
Kiota przed wersjami 1.29.1 i 1.32.5 rozwiązywał referencje $ref w OpenAPI, pobierając zdalne adresy URL i czytając lokalne ścieżki plików, co pozwalało na SSRF, zdalne i lokalne dołączanie plików podczas generowania klientów.
- CVE-2026-59863Wysokie
Kiota przed wersjami 1.29.1 i 1.32.5 honorował złośliwą konfigurację workspace.json bez walidacji ścieżek wyjściowych, co pozwalało na zapis wygenerowanych plików poza katalogiem workspace na maszynie dewelopera lub CI.
- CVE-2026-59862Wysokie
Kiota przed wersjami 1.29.1 i 1.32.0 w generatorze Python nie sanityzował opisów wartości enum, co pozwalało na wstrzyknięcie kodu Python do wygenerowanych komentarzy, które mogły być wykonane przy imporcie modułów.
- CVE-2026-59861Wysokie
Kiota przed wersjami 1.29.1 i 1.32.0 w generatorze Ruby nie escapował znaku # w literałach łańcuchowych, co pozwalało na wstrzyknięcie dowolnego kodu Ruby do wygenerowanych klas modeli.
- CVE-2026-59860Wysokie
Kiota przed wersjami 1.29.1 i 1.32.3 ma podatność na wstrzyknięcie kodu w generatorze C# przez komentarze XML doc, gdzie tekst z opisu OpenAPI jest zapisywany bez usuwania znaków nowej linii, co pozwala na wstrzyknięcie dodatkowego kodu do wygenerowanych klientów.
- CVE-2026-59859Wysokie
Kiota, generator klientów HTTP oparty na OpenAPI, przed wersjami 1.29.1 i 1.32.4 zawiera podatność na wstrzykiwanie kodu PHP. Generator PHP nie poprawnie escapował znaku $ w literałach łańcuchowych, co pozwala atakującemu na wstrzyknięcie dowolnego kodu PHP do wygenerowanych klas modeli i builderów żądań.
- CVE-2026-41134Wysokie
Kiota przed wersjami 1.29.1 i 1.31.1 ma podatność na wstrzykiwanie literałów w wielu miejscach generowania kodu. Gdy złośliwe wartości z opisu OpenAPI są emitowane do generowanego kodu bez odpowiedniego escapowania, atakujący może wyrwać się z literałów łańcuchowych i wstrzyknąć dodatkowy kod do wygenerowanych klientów.
Oryginalny opis (angielski, źródło NVD)
Kiota is an OpenAPI based HTTP Client code generator. Prior to 1.29.1 and 1.32.5, Kiota emitted x-ms-kiota-info clientClassName and clientNamespaceName values without identifier or path sanitization as both generated client class or namespace names and generated output path components when `kiota generate` ran without -c/--class-name, allowing an attacker-controlled or compromised OpenAPI description to write generated source outside the -o output directory and inject arbitrary text into generated class or namespace declarations. This issue is fixed in version 1.29.1 and 1.32.5 by GenerationConfiguration.SanitizeClientClassName and SanitizeClientNamespaceName.

