CVE-2026-50197
WysokieCVSS 7.8Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 35 - wyżej niż 35% wszystkich znanych CVE
Streszczenie
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.
Ocena ryzyka
Atak może prowadzić do naruszenia zasad bezpieczeństwa, umożliwiając przesyłanie nieautoryzowanych danych do usług wewnętrznych, co może skutkować eskalacją uprawnień lub wyciekiem danych.
Rekomendacja
Zaleca się natychmiastową aktualizację Skipper do wersji 0.26.10 lub nowszej.
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-54247Średnie
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.
- 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ń.
Oryginalny opis (angielski, źródło NVD)
Skipper is an HTTP router and reverse proxy for service composition. Prior to 0.26.10, zalando/skipper's OpenPolicyAgent integration silently bypasses request-body inspection on HTTP/1.1 Transfer-Encoding: chunked and HTTP/2 requests that omit the content-length pseudo-header, because the opaAuthorizeRequestWithBody filter and OpenPolicyAgentInstance.ExtractHttpBodyOptionally in filters/openpolicyagent/openpolicyagent.go produce an empty raw_body and input.parsed_body while the upstream service receives the full attacker-controlled body. This issue is fixed in version 0.26.10.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

