CVE-2025-47909
WysokieCVSS 7.3Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 6 - wyżej niż 6% wszystkich znanych CVE
Streszczenie
Hosty wymienione w TrustedOrigins domyślnie zezwalają na żądania z odpowiadających im originów HTTP, co pozwala atakującym w sieci (MitM) na przeprowadzanie ataków CSRF. Po naprawie CVE-2025-24358 atakujący sieciowy, który umieści formularz na http://example.com, nie może go wysłać do https://example.com, ponieważ nagłówek Origin jest sprawdzany względem syntetycznego URL. Jednak jeśli host zostanie dodany do TrustedOrigins, dozwolone będą zarówno jego originy HTTP, jak i HTTPS, ponieważ schemat syntetycznego URL jest ignorowany, a sprawdzany jest tylko host.
Ocena ryzyka
Atakujący w sieci może przeprowadzić atak CSRF, jeśli aplikacja używa TrustedOrigins i host jest dodany do tej listy, co może prowadzić do nieautoryzowanych działań w imieniu użytkownika. Ryzyko dotyczy aplikacji Go korzystających z TrustedOrigins.
Rekomendacja
Zmień aplikację na net/http.CrossOriginProtection wprowadzone w Go 1.25. Jeśli to niemożliwe, użyj backportu dostępnego jako moduł filippo.io/csrf lub zamiennika API github.com/gorilla/csrf dostępnego pod filippo.io/csrf/gorilla.
Inne podatności w Go net/http
Zobacz wszystkie- CVE-2025-22870Średnie
Dopasowywanie hostów do wzorców proxy może nieprawidłowo traktować identyfikator strefy IPv6 jako część nazwy hosta. Na przykład gdy zmienna NO_PROXY ma wartość "*.example.com", żądanie do "[::1%25.example.com]:80" zostanie błędnie dopasowane i nie zostanie przekierowane przez proxy.
- CVE-2023-39326Średnie
Podatność w bibliotece net/http języka Go pozwala atakującemu HTTP na użycie rozszerzeń chunk do zmuszenia odbiorcy do odczytania znacznie większej ilości danych z sieci niż faktycznie znajduje się w treści żądania lub odpowiedzi. Złośliwy klient HTTP może wykorzystać to do automatycznego odczytania przez serwer dużej ilości danych (do około 1 GiB).
- CVE-2023-45289Średnie
Podatność w standardowej bibliotece Go (net/http) powoduje, że przy przekierowaniu HTTP do domeny, która nie jest subdomeną ani dokładnym dopasowaniem początkowej domeny, klient HTTP nie przekazuje wrażliwych nagłówków, takich jak Authorization czy Cookie. Na przykład przekierowanie z foo.com na www.foo.com przekaże nagłówek Authorization, ale przekierowanie na inną domenę już nie.
- CVE-2026-78663Krytyczne
Serwer HTTP/2 może dwukrotnie zwrócić kontrolę przepływu na poziomie połączenia dla tych samych danych: raz, gdy klient resetuje strumień, a ponownie, gdy handler żądania odczytuje buforowane dane. Złośliwy klient może to wykorzystać do obejścia skonfigurowanego limitu kontroli przepływu na poziomie połączenia (MaxReceiveBufferPerConnection).
- CVE-2026-94440Wysokie
Parsowanie formularza multipart może obejść limity pamięci i wczytać dowolnie długą linię do pamięci, gdy pozostały limit na początku części jest mniejszy niż 400 bajtów.
- CVE-2026-94439Wysokie
Gdy handler serwera HTTP wysyła odpowiedź 2xx na żądanie HTTP/1 CONNECT i zwraca bez przejęcia połączenia, serwer nieprawidłowo kontynuuje odczytywanie i obsługę żądań z tego połączenia. Ponieważ odpowiedź 2xx na CONNECT przekształca połączenie w tunel, serwer nie powinien traktować go jako nadal zawierającego HTTP.
- CVE-2026-78669Wysokie
Złośliwy peer HTTP/2 może spowodować nadmierne zużycie CPU po stronie klienta lub serwera, otwierając dużą liczbę strumieni, a następnie wysyłając wiele małych ramek SETTINGS zawierających wartości SETTINGS_INITIAL_WINDOW_SIZE.
- CVE-2026-78667Wysokie
Podczas parsowania nagłówka Range zawierającego dużą liczbę małych zakresów, FileServer(FS), ServeContent i ServeFile(FS) mogą zużyć nadmierną ilość CPU.
- CVE-2026-78660Wysokie
Historycznie implementacja HTTP/2 była dość pobłażliwa wobec nieprawidłowych nagłówków związanych z ramkowaniem, ponieważ nie mogą one zakłócać ramkowania HTTP/2. Jednak umożliwia to przekazywanie odpowiedzi zawierających takie nagłówki do klienta HTTP/1, gdy działamy jako reverse proxy. Jeśli klient HTTP/1 również nie zachowuje się wystarczająco ściśle, może to skutkować przemytem odpowiedzi (response smuggling).
- CVE-2026-78659Wysokie
Gdy klient wysyła nagłówki "Trailer", serwer HTTP wewnętrznie używa wartości nagłówków do wypełnienia mapy Request.Trailer przekazywanej do handlera. Ponieważ Request.Trailer jest mapą, każdy wpis powoduje narzut pamięci. Dla serwerów HTTP/2 złośliwy klient może to wykorzystać, wysyłając nagłówek "Trailer" deklarujący dużą liczbę pól, powodując alokację nieproporcjonalnej ilości pamięci z pominięciem limitów Server.MaxHeaderValueCount i Server.MaxHeaderBytes.
Oryginalny opis (angielski, źródło NVD)
Hosts listed in TrustedOrigins implicitly allow requests from the corresponding HTTP origins, allowing network MitMs to perform CSRF attacks. After the CVE-2025-24358 fix, a network attacker that places a form at http://example.com can't get it to submit to https://example.com because the Origin header is checked with sameOrigin against a synthetic URL. However, if a host is added to TrustedOrigins, both its HTTP and HTTPS origins will be allowed, because the schema of the synthetic URL is ignored and only the host is checked. For example, if an application is hosted on https://example.com and adds example.net to TrustedOrigins, a network attacker can serve a form at http://example.net to perform the attack. Applications should migrate to net/http.CrossOriginProtection, introduced in Go 1.25. If that is not an option, a backport is available as a module at filippo.io/csrf, and a drop-in replacement for the github.com/gorilla/csrf API is available at filippo.io/csrf/gorilla.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

