CVE-2026-77354
WysokieCVSS 8.7Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 22 - wyżej niż 22% wszystkich znanych CVE
Streszczenie
kin-openapi w wersjach od 0.124.0 do 0.142.0 ma podatność na atak DoS. Funkcja sliceMapToSlice konwertuje kontrolowane przez atakującego indeksy z parametru deepObject na gęstą tablicę, co może prowadzić do alokacji wielogigabajtowej pamięci i wywołania OOM lub restartu aplikacji.
Ocena ryzyka
Niezalogowany atakujący może wysłać małe zapytanie, które spowoduje wyczerpanie pamięci i niedostępność usługi, co prowadzi do przerwy w działaniu.
Rekomendacja
Zaktualizuj kin-openapi do wersji 0.142.0 lub nowszej, która zawiera poprawkę.
Inne podatności w kin-openapi
Zobacz wszystkie- CVE-2026-73501Krytyczne
kin-openapi to projekt Go do obsługi plików OpenAPI. Przed wersją 0.144.0, ValidationHandler.Load() w openapi3filter/validation_handler.go po cichu zastępuje nil AuthenticationFunc funkcją NoopAuthenticationFunc, która zwraca nil bez sprawdzania poświadczeń. To podstawienie powoduje, że każde wymaganie bezpieczeństwa OpenAPI jest spełnione dla nieuwierzytelnionych żądań, gdy aplikacja polega na ValidationHandler jako middleware egzekwującym. No-op callback uniemożliwia osiągnięcie ścieżki fail-closed ErrAuthenticationServiceMissing i przekazuje żądanie do chronionych handlerów, które mogą wymagać klucza API, tokena OAuth lub innego schematu bezpieczeństwa. Problem naprawiono w wersji 0.144.0.
- CVE-2026-76905Wysokie
kin-openapi w wersjach od 0.10.0 do 0.141.0 ma podatność na atak DoS. Funkcja convertParseError dereferencuje wskaźnik e.Parameter bez sprawdzenia, czy jest on pusty, co może prowadzić do paniki aplikacji przy przetwarzaniu błędów walidacji.
- CVE-2026-73502Średnie
kin-openapi, projekt Go do obsługi plików OpenAPI, w wersjach od 0.2.0 do 0.144.0 zawiera podatność na odmowę usługi przez wyłuskanie pustego wskaźnika w funkcji openapi3filter.ValidateRequest, gdy operacja deklaruje parametr treści z typem application/json bez schematu. Pojedyncze nieuwierzytelnione żądanie z wartością parametru może spowodować panikę walidacji żądania, prowadząc do przerwania żądania i wzrostu logów w typowej ścieżce synchronicznej net/http lub pełnego awarii procesu w integracjach bez mechanizmu odzyskiwania. Problem naprawiono w wersji 0.144.0.
Oryginalny opis (angielski, źródło NVD)
kin-openapi is a Go project for handling OpenAPI files. From 0.124.0 until 0.142.0, openapi3filter.sliceMapToSlice in openapi3filter/req_resp_decoder.go converts attacker-controlled sparse indexes from a deepObject query parameter into a dense slice by allocating entries from zero through the largest supplied index, after which buildResObj creates another slice of the same length. This allocation occurs before schema validation, so maxItems does not prevent it. An unauthenticated client can send a small query such as param[items][50000000]=x to an endpoint whose deepObject schema contains an array, forcing multi-gigabyte heap allocation and causing an OOM kill or restart loop. Other request-body encodings and styled parameters that do not produce bracketed integer indexes are not affected. This issue is fixed in version 0.142.0.

