CVE-2026-118262
WysokieCVSS 8.2Streszczenie
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.
Ocena ryzyka
Nagromadzenie zasobów przez powtarzane połączenia może doprowadzić do wyczerpania pamięci i odmowy usługi dla aplikacji korzystających z middleware Proxy. Ryzyko dotyczy usług publicznych z trasami proxy WebSocket.
Rekomendacja
Zaktualizuj Echo do wersji 4.16.1 lub 5.4.1 (lub nowszej). Ustaw terminy połączeń i monitoruj nietypowe nagromadzenie połączeń na trasach proxy.
Inne podatności w Echo
Zobacz wszystkie- CVE-2026-118658Średnie
W frameworku Echo (Go) w wersjach przed 4.15.2 i 5.1.1 funkcja Context.Scheme zwraca wartości z nagłówków X-Forwarded-Proto, X-Forwarded-Protocol lub X-Url-Scheme bez sprawdzenia, czy są to obsługiwane schematy sieciowe. Middleware WWWRedirect i NonWWWRedirect używają tej wartości do budowy nagłówka Location, co pozwala atakującemu kontrolującemu nagłówek forwarded scheme wymusić przekierowanie na dowolny schemat URI. Warianty przekierowań specyficzne dla HTTPS mają zaszyty na stałe HTTPS i nie są podatne.
- CVE-2026-118657Średnie
W frameworku Echo (Go) w wersjach przed 4.16.0 i 5.4.0 funkcja Context.Scheme bezwarunkowo ufa nagłówkom forwarded scheme od dowolnego klienta. Klient łączący się bezpośrednio przez zwykły HTTP może podać schemat HTTPS i ominąć HTTPSRedirect, ponieważ żądanie jest traktowane jako już bezpieczne. Dodatkowo, za proxy terminującym TLS przekazującym nagłówek kontrolowany przez atakującego, deklarowany schemat HTTP może stłumić nagłówek Strict-Transport-Security, mimo że przeglądarka otrzymuje odpowiedź przez HTTPS.
- CVE-2026-118656Średnie
W frameworku Echo (Go) w wersjach przed 4.16.0 i 5.4.0 funkcja sanitizeURI sprawdza tylko pierwsze dwa bajty celu przekierowania przed decyzją, czy zaczyna się on od pary separatorów ścieżki absolutnej. Gdy AddTrailingSlash lub RemoveTrailingSlash są skonfigurowane ze statusem przekierowania, forma ścieżki ze slashem, TAB-em i separatorem może ominąć zabezpieczenie, zostać wysłana w nagłówku Location i znormalizowana przez przeglądarkę do hosta kontrolowanego przez atakującego.
- 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.
Oryginalny opis (angielski, źródło NVD)
Echo is a Go web framework. From 4.15.0 until 4.16.1 and 5.4.1, Echo's Proxy middleware can retain a handler, copy goroutines, and network connections after a WebSocket client disconnects when the upstream keeps its connection open. The raw proxy waits for both copy directions without reliably closing the peer connection when one direction ends, including when a rejected upgrade response uses HTTP keep-alive. Repeated connections can accumulate resources and cause denial of service, depending on proxy-route accessibility, upstream behavior, and connection deadlines. This issue is fixed in 4.16.1 and 5.4.1.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

