CVE-2026-63184
WysokieCVSS 7.1Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 35 - wyżej niż 35% wszystkich znanych CVE
Streszczenie
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.
Ocena ryzyka
Może prowadzić do ujawnienia plików lokalnych hosta dewelopera lub CI oraz do żądań SSRF z zaufanej infrastruktury. Ryzyko dotyczy procesów generowania kodu z niezaufanych specyfikacji OpenAPI.
Rekomendacja
Zaktualizuj refitter do wersji 2.1.1 lub nowszej. Generuj klienty wyłącznie z zaufanych specyfikacji OpenAPI i unikaj przetwarzania niezaufanych opisów w CI.
Inne podatności w Refitter
Zobacz wszystkie- CVE-2026-63346Wysokie
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.
- 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.
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.1, the `refitter` dotnet tool invokes `NJsonSchema` with unsafe defaults for `$ref` resolution when generating Refit interfaces and contracts from attacker-controlled or attacker-influenced OpenAPI descriptions. Remote `http(s)` references cause requests from the developer or CI host and inline untrusted remote schema content into generated output. Absolute local file paths and relative `../` traversal outside the input directory also resolve and inline local content, permitting arbitrary local-file disclosure. The demonstrated chain stops at server-side request forgery, remote file inclusion, and local file inclusion, not code execution: Refit sets the base URL at runtime, enum values use verbatim-string doubling, and string defaults are escaped. This issue is fixed in version 2.1.1.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

