CVE-2026-63346
WysokieCVSS 8.6Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 29 - wyżej niż 29% wszystkich znanych CVE
Streszczenie
W Refitter przed wersją 2.1.2 nazwa parametru nagłówka w parameters[].name z in: header jest emitowana dosłownie do atrybutu [Header("<name>")] w Refit bez escapowania cudzysłowów. Spreparowany opis OpenAPI może przejść domyślną walidację bez --skip-validation i wyłamać się z pozycji listy parametrów, generując poprawny C# z klasą pliku i metodą [ModuleInitializer], która wykonuje kod atakującego przy załadowaniu skompilowanego zestawu.
Ocena ryzyka
Wygenerowany klient może zawierać złośliwy kod wykonywany przy starcie aplikacji, nawet jeśli klient nigdy nie zostanie wywołany, co prowadzi do wykonania kodu atakującego.
Rekomendacja
Zaktualizuj Refitter do wersji 2.1.2 lub nowszej i weryfikuj źródła opisów OpenAPI przed generowaniem klienta.
Inne podatności w Refitter
Zobacz wszystkie- CVE-2026-63345Wysokie
Narzędzie Refitter przed wersją 2.1.2 wstawia klucze obiektu `paths` z OpenAPI bezpośrednio do atrybutów tras Refit, bez escapowania cudzysłowów. Złośliwie spreparowana ścieżka może zamknąć atrybut, interfejs i przestrzeń nazw oraz wstrzyknąć klasę z metodą `[ModuleInitializer]`, która wykonuje kod atakującego przy załadowaniu wygenerowanego zestawu. Podatność naprawiono w wersji 2.1.2.
- CVE-2026-63344Wysokie
Refitter przed wersją 2.1.2 wstawia klucze content-type z map `requestBody/responses` bezpośrednio do atrybutu `[Headers(...)]` Refit, bez escapowania cudzysłowów. Spreparowany klucz content-type w opisie OpenAPI może zamknąć atrybut, interfejs i przestrzeń nazw oraz wstrzyknąć klasę z metodą `[ModuleInitializer]`, która wykonuje kod atakującego przy załadowaniu zestawu. Podatność naprawiono w wersji 2.1.2.
- CVE-2026-63184Wysokie
W narzędziu dotnet refitter przed wersją 2.1.1 biblioteka NJsonSchema jest wywoływana z niebezpiecznymi domyślnymi ustawieniami rozwiązywania $ref podczas generowania interfejsów Refit z opisów OpenAPI kontrolowanych przez atakującego. Zdalne odwołania http(s) powodują żądania z hosta dewelopera lub CI i wstawianie niezaufanej treści do wygenerowanego wyniku, a bezwzględne ścieżki lokalne i przejścia ../ pozwalają na ujawnienie dowolnych plików lokalnych. Łańcuch kończy się na SSRF, zdalnym i lokalnym włączaniu plików, bez wykonania kodu.
Oryginalny opis (angielski, źródło NVD)
Refitter is a tool for generating a C# REST API client using the Refit library. Prior to 2.1.2, the header parameter name in `parameters[].name` with `in: header` is emitted verbatim into a Refit `[Header("<name>")]` attribute string without escaping quotation marks. An attacker-influenced OpenAPI description can pass default validation without `--skip-validation` and break out from the parameter-list position by closing the parameter and method syntax, attribute, interface, and namespace. The generated file can remain valid C# while containing a top-level file class with a `[ModuleInitializer]` method, which executes attacker code when the compiled assembly is loaded at application startup, even if the client is never called. Query `AliasAs` and enum/default value sinks are escaped; this flaw is in header-name attribute-string emission. The behavior was verified with Refitter 2.0.0 and .NET 8. This issue is fixed in version 2.1.2.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

