Podatności Go
24 znanych podatności CVE w Go, przetłumaczonych i ocenionych.
- 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-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-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-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-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-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
- CVE-2026-56862Wysokie
Komunikaty uzgadniania, takie jak KeyUpdate, są zawsze uważane za postępujące w stanie, niezależnie od tego, czy uzgadnianie zostało zakończone, czy nie. W rezultacie złośliwy klient może wysyłać komunikaty KeyUpdate, aby zmusić serwer do ciągłego wykonywania operacji wyprowadzania kluczy w nieskończoność.
- CVE-2026-56860Średnie
Wcześniej rozwiązywanie ścieżek względnych zawierających segmenty katalogu nadrzędnego ('..') wykonywało konwersje ciągów i przepisywanie buforów na każdym kroku, co skutkowało złożonością czasową kwadratową i wysokim narzutem alokacji pamięci. Teraz rozwiązywanie ścieżek działa na buforze bajtów przy użyciu indeksowanego cofania dla segmentów '..', eliminując kwadratową złożoność czasową i znacznie zmniejszając alokacje pamięci.
- CVE-2026-56859Wysokie
Wcześniej DecodeElement resetował licznik głębokości, co powodowało, że nigdy nie został wyzwolony; mogło to prowadzić do wyczerpania stosu.
- CVE-2026-56858Średnie
Wcześniej patologiczne dane wejściowe mogły zamknąć nieucieczony znak '/' wcześnie, co pozwalało na wstrzyknięcie dowolnej treści kontrolowanej przez atakującego, potencjalnie prowadząc do XSS.
- CVE-2026-39822Wysokie
W systemach Unix otwieranie pliku w os.Root nieprawidłowo podąża za dowiązaniami symbolicznymi do lokalizacji poza Root, gdy ostatni komponent ścieżki jest dowiązaniem symbolicznym, a ścieżka kończy się na /. Na przykład 'root.Open("symlink/")' otworzy "symlink", nawet jeśli wskazuje on poza korzeń.
- CVE-2026-27145Średnie
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.
- CVE-2026-33811Wysokie
Podatność w resolverze DNS cgo w Go (przy użyciu LookupCNAME) powoduje podwójne zwolnienie pamięci C i awarię w przypadku bardzo długiej odpowiedzi CNAME.
- CVE-2026-33810Wysokie
Podczas weryfikacji łańcucha certyfikatów z wykluczonymi ograniczeniami DNS, ograniczenia te nie są poprawnie stosowane do symboli wieloznacznych DNS SAN o innej wielkości liter. Dotyczy to tylko certyfikatów zaufanego łańcucha wydanych przez zaufane CA.
- CVE-2026-32289Średnie
W języku Go kontekst nie był prawidłowo śledzony w gałęziach szablonów dla literałów szablonów JS, co prowadziło do nieprawidłowego kodowania treści. Ponadto akcje szablonów w literałach szablonów JS nie śledziły głębokości nawiasów klamrowych, co skutkowało nieprawidłowym kodowaniem. Te problemy mogą powodować podatności XSS.
- CVE-2026-32288Średnie
Funkcja tar.Reader w języku Go może przydzielić nieograniczoną ilość pamięci podczas odczytu złośliwie spreparowanego archiwum zawierającego dużą liczbę rzadkich regionów zakodowanych w starym formacie 'old GNU sparse map'.
- CVE-2026-32282Średnie
W systemie Linux, jeśli cel funkcji Root.Chmod zostanie zastąpiony dowiązaniem symbolicznym podczas trwania operacji chmod, Chmod może działać na celu dowiązania, nawet jeśli znajduje się on poza korzeniem. Wywołanie systemowe fchmodatat ignoruje flagę AT_SYMLINK_NOFOLLOW, której Root.Chmod używa do unikania podążania za dowiązaniami. Root.Chmod sprawdza cel przed działaniem i zwraca błąd, jeśli cel jest dowiązaniem poza korzeniem, więc wpływ jest ograniczony do przypadków, gdy cel zostanie zastąpiony dowiązaniem między sprawdzeniem a operacją.
- CVE-2026-25679Wysokie
Funkcja url.Parse w Go niewystarczająco weryfikuje komponent host/authority i akceptuje niektóre nieprawidłowe adresy URL.
- CVE-2025-61732Wysokie
Rozbieżność w sposobie parsowania komentarzy w Go i C/C++ umożliwiła przemycanie kodu do wynikowego pliku binarnego cgo.

