CVE-2026-118260
WysokieCVSS 8.2Streszczenie
Echo to framework webowy w Go. Od wersji 4.0.0 do 4.16.1 opcjonalne middleware BodyDump w Echo v4 odczytuje pełne ciała żądań do pamięci przed uruchomieniem handlerów i zachowuje pełne ciała odpowiedzi dla callbacku dump bez limitów przechwytywania. Nieuwierzytelniony klient, który może dotrzeć do trasy używającej BodyDump, może przesyłać duże ciała lub wpływać na duże odpowiedzi, powodując powtarzane lub równoległe alokacje wyczerpujące pamięć procesu. BodyDump nie jest domyślnie włączone, a zewnętrzne limity żądań mogą zmniejszyć ekspozycję po stronie żądania, ale nie ograniczają przechwytywania odpowiedzi. Problem naprawiono w wersji 4.16.1.
Ocena ryzyka
Nieuwierzytelniony atakujący może wyczerpać pamięć procesu i spowodować odmowę usługi. Ryzyko dotyczy aplikacji z włączonym middleware BodyDump na trasach dostępnych bez uwierzytelnienia.
Rekomendacja
Zaktualizuj Echo do wersji 4.16.1 (lub nowszej). Wyłącz middleware BodyDump w środowisku produkcyjnym lub ogranicz jego użycie do tras wewnętrznych.
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.0.0 until 4.16.1, Echo v4's opt-in BodyDump middleware reads complete request bodies into memory before handlers run and retains complete response bodies for the dump callback without capture limits. An unauthenticated client that can reach a route using BodyDump can submit large bodies or influence large responses, causing repeated or concurrent allocations that exhaust process memory. BodyDump is not enabled by default, and external request limits may reduce request-side exposure but do not bound response capture. This issue is fixed in 4.16.1.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

