CVE-2026-65838
WysokieCVSS 8.2Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 19 - wyżej niż 19% wszystkich znanych CVE
Streszczenie
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.
Ocena ryzyka
Atakujący może wysłać zabronione dane do chronionej usługi, omijając kontrolę autoryzacji, co może prowadzić do nieautoryzowanego dostępu lub naruszenia integralności danych.
Rekomendacja
Zaktualizuj Skipper do wersji 0.27.35 lub nowszej, która zawiera poprawkę dla tego problemu.
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-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ń.
- 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.27.35, the opaAuthorizeRequestWithBody filter in filters/openpolicyagent/openpolicyagent.go can allow an oversized declared Content-Length request to bypass a deny-on-presence Rego policy because ExtractHttpBodyOptionally leaves OPA with an empty parsed_body while forwarding the complete request body upstream. This incomplete remediation of CVE-2026-50197 affects deployments that authorize request-body content and exceed -open-policy-agent-max-request-body-size, which defaults to 1 MB. Policy logic that does not reject input.attributes.request.http.truncated_body can therefore fail open and permit a forbidden payload to reach the protected service, while small bodies and the previously fixed chunked-body case are evaluated normally. This issue is fixed in version 0.27.35.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

