CVE-2026-27145
ŚrednieCVSS 6.5Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 46 - wyżej niż 46% wszystkich znanych CVE
Streszczenie
W bibliotece Go (Golang) stwierdzono podatność w funkcji (*x509.Certificate).VerifyHostname, która powoduje kwadratowy wzrost kosztów weryfikacji przy dużej liczbie wpisów DNS SAN. Atakujący może wykorzystać to do przeprowadzenia ataku DoS poprzez dostarczenie certyfikatu z wieloma wpisami SAN.
Ocena ryzyka
Atakujący może spowodować znaczne obciążenie serwera lub aplikacji, prowadząc do odmowy usługi (DoS) dla innych użytkowników.
Rekomendacja
Należy zaktualizować środowisko Go do wersji, w której problem został naprawiony, lub zastosować ograniczenia dotyczące liczby wpisów SAN w certyfikatach.
Inne podatności w Go
Zobacz wszystkie- 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-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-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-39325Wysokie
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ń.
- 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
Oryginalny opis (angielski, źródło NVD)
(*x509.Certificate).VerifyHostname previously called matchHostnames in a loop over all DNS Subject Alternative Name (SAN) entries. This caused strings.Split(host, ".") to execute repeatedly on the same input hostname. With a large DNS SAN list, verification costs scaled quadratically based on the number of SAN entries multiplied by the hostname's label count. Because x509.Verify validates hostnames before building the certificate chain, this overhead occurred even for untrusted certificates.

