CVE-2026-59859
WysokieCVSS 8.7Prawdopodobieństwo exploitacji (EPSS)
Podwyższone ryzykoPercentyl 60 - wyżej niż 60% wszystkich znanych CVE
Streszczenie
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ń.
Ocena ryzyka
Atakujący może wstrzyknąć złośliwy kod PHP do wygenerowanego kodu, co może prowadzić do zdalnego wykonania kodu w środowisku, w którym ten kod jest używany.
Rekomendacja
Zaktualizuj Kiota do wersji 1.29.1 lub 1.32.4 (lub nowszej) i wygeneruj ponownie klientów, aby zastąpić podatny kod.
Inne podatności w Kiota
Zobacz wszystkie- CVE-2026-59866Krytyczne
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.
- 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-105796Wysokie
Kiota w wersjach od 0.5.0 do 1.35.0 zawiera podatność w sanitizerach komentarzy dokumentacji dla Javy i PHP, które usuwają terminator komentarza blokowego zamiast go neutralizować. Pozwala to na umieszczenie tekstu sterowanego przez atakującego poza komentarzem, co może prowadzić do wykonania kodu podczas kompilacji i ładowania wygenerowanego kodu. Problem naprawiono w wersji 1.35.0.
- CVE-2026-105795Niskie
Kiota, generator kodu klienta HTTP oparty na OpenAPI, w wersjach od 1.25.1 do 1.35.0 kopiuje wartość x-ai-capabilities.response_semantics.oauth_card_path z opisu OpenAPI do wygenerowanego manifestu wtyczki bez walidacji, czy jest to bezpieczne odniesienie do pliku względnego. Może to pozwolić na przejście poza granice pakietu wtyczki lub użycie nieautoryzowanej karty uwierzytelniającej. Problem naprawiono w wersji 1.35.0.
- 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-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.
Oryginalny opis (angielski, źródło NVD)
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.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

