CVE-2026-118651
ŚrednieCVSS 5.3Streszczenie
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.
Ocena ryzyka
Podszycie się pod adres klienta podważa kontrolę dostępu opartą na IP, limity szybkości, logi audytowe oraz ograniczenia geograficzne ufające tożsamości przekazywanej przez Echo.
Rekomendacja
Zaktualizuj Echo do wersji 5.4.0 lub nowszej. Skonfiguruj Echo.IPExtractor i usuń nagłówki X-Real-IP/X-Forwarded-For pochodzące od klienta przed przekazaniem do usług nadrzędnych.
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-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.
Oryginalny opis (angielski, źródło NVD)
Echo is a Go web framework. From 4.0.0 until 5.4.0, the Proxy middleware can preserve an attacker-supplied X-Real-IP header and forward it to an upstream service when Echo.IPExtractor is not configured. A remote client can therefore make upstream services receive a spoofed client address, undermining IP-based access controls, rate limiting, audit logging, or geographic restrictions that trust Echo's forwarded identity. This issue is fixed in Echo 5.4.0.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

