CVE-2023-39325
WysokieStreszczenie
Podatność w implementacji HTTP/2 w Go pozwala złośliwemu klientowi na szybkie tworzenie i resetowanie żądań, co prowadzi do nadmiernego zużycia zasobów serwera. Mimo ograniczenia liczby równoczesnych strumieni przez MaxConcurrentStreams, resetowanie żądań umożliwia atakującemu ciągłe wysyłanie nowych żądań.
Ocena ryzyka
Atak może spowodować wyczerpanie zasobów serwera (CPU, pamięć), prowadząc do odmowy usługi (DoS) dla legalnych użytkowników.
Rekomendacja
Zaleca się natychmiastową aktualizację do wersji Go zawierającej poprawkę (np. 1.20.8 lub 1.21.1) oraz monitorowanie ruchu HTTP/2 pod kątem nadmiernych resetów strumieni.
Inne podatności w Go
Zobacz wszystkie- CVE-2025-22873Średnie
Podatność w pakiecie os standardowej biblioteki Go umożliwia nieprawidłowy dostęp do katalogu nadrzędnego os.Root poprzez otwarcie nazwy pliku kończącej się na "../". Na przykład wywołanie Root.Open("../") otwiera katalog nadrzędny, co stanowi naruszenie ograniczeń dostępu.
- CVE-2025-0913Średnie
Podatność w implementacji funkcji os.OpenFile w języku Go powoduje różne zachowanie na systemach Unix i Windows, gdy ścieżka docelowa jest wiszącym dowiązaniem symbolicznym. Na Unixie flaga O_EXCL zapobiega podążaniu za dowiązaniami, podczas gdy na Windowsie funkcja może podążać za dowiązaniem do nieistniejącej lokalizacji.
- CVE-2023-45290Średnie
Podczas parsowania formularza multipart w Go, limity całkowitego rozmiaru formularza nie były stosowane do pamięci zużywanej podczas odczytu pojedynczej linii. Umożliwia to atakującemu wysłanie złośliwego żądania, które może spowodować nadmierne zużycie pamięci.
- CVE-2025-47906Średnie
Podatność w funkcji LookPath powoduje, że gdy zmienna środowiskowa PATH zawiera ścieżki do plików wykonywalnych (a nie tylko katalogów), przekazanie określonych ciągów znaków („”, „.”, „..”) może skutkować nieoczekiwanym zwróceniem plików binarnych wymienionych w PATH.
- CVE-2023-45283Wysokie
Pakiet filepath w Go nie rozpoznaje ścieżek z prefiksem \??\ jako specjalnych. W systemie Windows ścieżka zaczynająca się od \??\ jest równoważna ścieżce zaczynającej się od \\?\ i może być używana do dostępu do dowolnych lokalizacji w systemie.
- CVE-2023-29406Średnie
Klient HTTP/1 w języku Go nie w pełni weryfikuje zawartość nagłówka Host. Złośliwie spreparowany nagłówek Host może umożliwić wstrzyknięcie dodatkowych nagłówków lub całych żądań. Poprawka uniemożliwia wysyłanie żądań z nieprawidłową wartością Request.Host lub Request.URL.Host.
- CVE-2024-34155Średnie
Podatność w standardowym parserze języka Go powoduje panikę przy przetwarzaniu kodu źródłowego z głęboko zagnieżdżonymi literałami. Problem wynika z wyczerpania stosu podczas rekurencyjnego parsowania.
- CVE-2024-45336Średnie
Klient HTTP w Go usuwa wrażliwe nagłówki (np. Authorization) po przekierowaniu między domenami, ale może je ponownie wysłać przy kolejnym przekierowaniu w obrębie tej samej domeny, co stanowi potencjalne ryzyko wycieku danych.
- CVE-2026-56865Wysokie
Złośliwy GOPROXY mógł wcześniej sfałszować do dwóch kafelków sumdb, co pozwalało na obejście kontroli GOSUMDB dla żądanego modułu i utrwalenie treści modułu kontrolowanej przez atakującego w lokalnym cache modułów Go. Atak umożliwia złośliwemu GOPROXY serwowanie złośliwej treści modułu, która nie może być wykryta przez ocenę dziennika przejrzystości. Wszystkie kafelki są teraz poprawnie weryfikowane względem ich rodziców. Aby sprawdzić, czy zostałeś dotknięty: rm -r go.sum go.work.sum vendor/ && go mod tidy
- CVE-2026-56864Wysokie
Złośliwy GOSUMDB mógł serwować dowolną treść modułu nie zawartą w dzienniku przejrzystości. Ten atak pozwala skoordynowanemu GOPROXY i GOSUMDB na serwowanie klientowi złośliwej treści modułu, która nie może być wykryta przez ocenę dziennika przejrzystości. Aby sprawdzić, czy zostałeś dotknięty: rm -r go.sum go.work.sum vendor/ && go mod tidy
Oryginalny opis (angielski, źródło NVD)
A malicious HTTP/2 client which rapidly creates requests and immediately resets them can cause excessive server resource consumption. While the total number of requests is bounded by the http2.Server.MaxConcurrentStreams setting, resetting an in-progress request allows the attacker to create a new r

