CVE-2026-54247
ŚrednieCVSS 4.3Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 14 - wyżej niż 14% wszystkich znanych CVE
Streszczenie
W Skipper przed wersją 0.26.22 Handler w dataclients/kubernetes/admission/admission.go przekazuje ciało żądań do punktu końcowego admission Kubernetes pod :9443/admission bezpośrednio do io.ReadAll(r.Body) bez limitu rozmiaru. Atakujący z dostępem sieciowym w klastrze i ważnym certyfikatem klienta Kubernetes może wysłać bardzo duże ciało żądania, powodując nieograniczoną alokację pamięci i zakończenie procesu Skipper z powodu braku pamięci.
Ocena ryzyka
Atakujący z dostępem sieciowym w klastrze może wywołać odmowę usługi (OOM) procesu Skipper, zakłócając obsługę admission dla Ingress i RouteGroup.
Rekomendacja
Zaktualizuj Skipper do wersji 0.26.22, która zawiera poprawkę rozwiązującą tę podatność.
Inne podatności w Skipper
Zobacz wszystkie- CVE-2026-86043Wysokie
Skipper to router HTTP i odwrotny serwer proxy do kompozycji usług. Przed wersją 0.27.37 filtr opaAuthorizeRequestWithBody może autoryzować zbyt duże żądanie po tym, jak Skipper obcina treść prezentowaną Open Policy Agent, ponieważ sygnał input.truncated_body jest wyprowadzany z Content-Length, a nie z rzeczywistego wyniku odczytu. W filters/openpolicyagent/openpolicyagent.go, ExtractHttpBodyOptionally obcina treści do maxBodyBytes, podczas gdy filters/openpolicyagent/internal/envoy/skipperadapter.go kopiuje nagłówki żądania bez dodawania wartości Content-Length odzwierciedlającej obcięcie. Dla żądania HTTP/1.1 używającego Transfer-Encoding: chunked lub żądania HTTP/2 bez Content-Length, polityka sprawdzająca treść, która stosuje wcześniejszą łagodzenie i zezwala na input.truncated_body równe false, może ocenić tylko obcięty prefiks, zezwolić na żądanie, a następnie przekazać pełne zbyt duże treści do chronionego upstreamu. Ten problem rezydualny jest odrębny od CVE-2026-50197. Problem został naprawiony w wersji 0.27.37.
- CVE-2022-27262Krytyczne
Podatność na dowolne przesyłanie plików w module przesyłania plików Skipper v0.9.1 umożliwia atakującym wykonanie dowolnego kodu za pomocą spreparowanego pliku.
- CVE-2026-65838Wysokie
Skipper przed wersją 0.27.35 ma podatność w filtrze opaAuthorizeRequestWithBody, która pozwala na obejście polityki Rego typu deny-on-presence dla żądań z dużym deklarowanym Content-Length, gdy treść przekracza limit rozmiaru.
- CVE-2026-54246Średnie
Skipper przed wersją 0.27.13 udostępnia dane sterujące całego klastra przez /routes, /routes/{zone}, /swarm/redis/shards i /swarm/valkey/shards bez uwierzytelniania na poziomie aplikacji. Obsługiwane procedury tylko ograniczają metody HTTP, ale nie weryfikują tożsamości wywołującego. Zaatakowany lub skompromitowany pod może ominąć ograniczenia RBAC i odczytać wrażliwe dane z różnych przestrzeni nazw.
- CVE-2026-65604Wysokie
Skipper zawiera niekompletną poprawkę dla CVE-2026-50197, w której zbyt duże ciała żądań omijają polityki Open Policy Agent (OPA) typu deny-on-presence. Gdy rozmiar ciała żądania przekracza limit maxBodyBytes, Skipper przekazuje pełny ładunek do usługi nadrzędnej, podczas gdy OPA ocenia pusty parsed_body, co pozwala na wykonanie zabronionych działań.
- CVE-2026-50197Wysokie
Podatność w Skipper (HTTP router i reverse proxy) przed wersją 0.26.10 umożliwia ominięcie inspekcji treści żądań HTTP/1.1 z Transfer-Encoding: chunked oraz HTTP/2 bez nagłówka content-length przez integrację z OpenPolicyAgent. Atakujący może przesłać złośliwe dane, które nie są analizowane przez filtr, ale docierają do usługi docelowej.
Oryginalny opis (angielski, źródło NVD)
Skipper is an HTTP router and reverse proxy for service composition. Prior to 0.26.22, Handler in dataclients/kubernetes/admission/admission.go passes the body of requests to the Kubernetes admission endpoint at :9443/admission directly to io.ReadAll(r.Body) without a size limit. An attacker with in-cluster network access and a valid Kubernetes client certificate can send a very large body that causes unbounded memory allocation and an out-of-memory termination of the Skipper process. The disruption is limited to Ingress and RouteGroup admission rather than pod creation or unrelated admission controllers, and Kubernetes normally restarts the process. This issue is fixed in version 0.26.22.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

