CVE-2026-118264
KrytyczneCVSS 9.1Streszczenie
W frameworku Echo (Go) od wersji 4.0.0 do 4.16.1 oraz w wersji 5.4.1 middleware Proxy wybiera surowy tunel z żądania WebSocket klienta przed weryfikacją, czy skonfigurowany upstream zaakceptował upgrade. Jeśli upstream odrzuci upgrade zwykłą odpowiedzią keep-alive, kolejne żądania HTTP na tym połączeniu trafiają bezpośrednio do upstreamu z pominięciem routera Echo i middleware tras. Może to obejść uwierzytelnianie lub autoryzację egzekwowane wyłącznie przez trasy Echo.
Ocena ryzyka
Obejście kontroli dostępu może pozwolić nieuwierzytelnionym użytkownikom na dostęp do chronionych zasobów upstreamu. Wymaga to jednak dostępnej trasy proxy, współpracującej odpowiedzi odrzucenia upgrade oraz celu bez niezależnej autoryzacji upstream.
Rekomendacja
Zaktualizuj Echo do wersji 4.16.1 lub 5.4.1. Dodatkowo zapewnij niezależną autoryzację po stronie upstreamu.
Inne podatności w Echo
Zobacz wszystkie- CVE-2026-118655Średnie
W frameworku Echo przed wersjami 4.15.3 i 5.2.0 middleware.Static może ponownie dekodować już zdekodowaną wartość Request.URL.Path. Podwójnie zakodowane separatory mogą zostać zrekonstruowane przed rozwiązywaniem ścieżki w systemie plików, co pozwala dotrzeć do pliku chronionego przez trasę, gdy middleware statyczne jest zarejestrowane globalnie.
- CVE-2026-118654Średnie
W frameworku Echo przed wersjami 4.16.0 i 5.4.0 statyczne handlery plików mogą normalizować segmenty kropkowe po dopasowaniu trasy i serwować plik przez publiczną trasę statyczną, mimo że bezpośrednia ścieżka jest chroniona przez middleware na poziomie trasy. Luka jest wynikiem niekompletnej poprawki dla CVE-2026-55677.
- CVE-2026-118653Średnie
W frameworku Echo od wersji 4.0.0 do 5.1.0 Context.RealIP korzysta z wartości X-Forwarded-For lub X-Real-IP dostarczonych przez klienta, gdy Echo.IPExtractor nie jest ustawiony, a domyślny RateLimiter używa tego wyniku jako identyfikatora klienta. Atakujący może rotować wartości nagłówków, aby uzyskiwać nowe koszyki limitu i omijać ograniczenia oparte na IP.
- CVE-2026-118652Średnie
W frameworku Echo przed wersjami 4.16.0 i 5.4.0 funkcje Context.JSONP i Context.JSONPBlob wstawiają niezwalidowaną wartość callback do odpowiedzi JavaScript. Trasa przekazująca dane kontrolowane przez atakującego jako callback może zwrócić wykonywalny skrypt, umożliwiając reflected XSS.
- CVE-2026-118651Średnie
W frameworku Echo od wersji 4.0.0 do 5.4.0 middleware Proxy może zachować nagłówek X-Real-IP dostarczony przez atakującego i przekazać go do usługi nadrzędnej, gdy Echo.IPExtractor nie jest skonfigurowany. Zdalny klient może w ten sposób podszyć się pod adres klienta widziany przez usługi nadrzędne.
- CVE-2026-118650Wysokie
W frameworku Echo przed wersjami 4.16.0 i 5.4.0 globalnie zamontowany middleware.Static może interpretować zakodowaną ścieżkę żądania inaczej niż router. Router dopasowuje nadal zakodowaną ścieżkę, a handler statyczny używa zdekodowanego URL.Path, co może prowadzić do dostępu do plików.
- CVE-2026-118266Średnie
W frameworku Echo (Go) middleware MethodOverride przed wersjami 4.16.0 i 5.4.0 akceptuje bezpieczną metodę HTTP jako cel nadpisania dla żądania POST. Gdy MethodOverride jest zarejestrowany przed CSRF w łańcuchu middleware po routingu, wybór trasy zachowuje oryginalny handler POST, ale nadpisanie zmienia metodę przed sprawdzeniem CSRF, co powoduje pominięcie walidacji tokenu i kontroli Sec-Fetch-Site. Exploit cross-site wymaga uwierzytelnionej ofiary i wartości nadpisania kontrolowanej przez przeglądarkę, np. gettera formularza; domyślny getter nagłówka X-HTTP-Method-Override nie jest ustawialny przez formularz cross-site.
- CVE-2026-118265Średnie
Echo, framework webowy dla Go, w wersjach od 5.0.0 do 5.4.1 ma podatność w ExtractIPFromRealIPHeader, który waliduje nagłówek X-Real-IP podany przez klienta zamiast bezpośredniego peera sieciowego. Klient może podać adres loopback lub prywatny i uzyskać sfałszowaną tożsamość z Context.RealIP.
- CVE-2026-118263Średnie
Echo, framework webowy dla Go, w wersjach od 5.0.0 do 5.4.1 ma podatność w middleware BodyDump, który może odrzucić błąd przekroczenia BodyLimit dla żądania o nieznanej długości, gdy limit przechwytywania BodyDump jest niższy niż próg BodyLimit. Żądanie HTTP/1.1 chunked może zostać obcięte i przetworzone mimo przekroczenia limitu.
- CVE-2026-118262Wysokie
Echo to framework webowy w Go. Od wersji 4.15.0 do 4.16.1 i 5.4.1 middleware Proxy w Echo może zatrzymywać handler, kopiować gorutyny i połączenia sieciowe po rozłączeniu klienta WebSocket, gdy upstream utrzymuje otwarte połączenie. Surowy proxy czeka na oba kierunki kopiowania bez niezawodnego zamykania połączenia peera, gdy jeden kierunek się kończy, w tym gdy odrzucona odpowiedź upgrade używa HTTP keep-alive. Powtarzane połączenia mogą gromadzić zasoby i powodować odmowę usługi, w zależności od dostępności trasy proxy, zachowania upstream i terminów połączeń. Problem naprawiono w wersjach 4.16.1 i 5.4.1.
Oryginalny opis (angielski, źródło NVD)
Echo is a Go web framework. From 4.0.0 until 4.16.1 and 5.4.1, Echo's Proxy middleware selects a raw tunnel from a client WebSocket upgrade request before verifying that the configured upstream accepted the upgrade. If the upstream rejects the upgrade with an ordinary keep-alive response, later HTTP requests on the connection are sent directly to that upstream without passing through Echo's router or route-specific middleware. This can bypass authentication or authorization enforced only by Echo routes, but requires an accessible proxy route, a cooperating rejected-upgrade response, and a target without independent upstream authorization. This issue is fixed in 4.16.1 and 5.4.1.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

