CVE-2025-22873
ŚrednieStreszczenie
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.
Ocena ryzyka
Ryzyko polega na możliwości ominięcia mechanizmu izolacji os.Root, co może prowadzić do nieautoryzowanego dostępu do katalogu nadrzędnego i potencjalnego wycieku danych lub eskalacji uprawnień w aplikacjach korzystających z tej funkcji.
Rekomendacja
Zaleca się natychmiastową aktualizację do wersji Go zawierającej poprawkę (np. 1.22.10 lub 1.23.4) oraz weryfikację kodu aplikacji pod kątem użycia os.Root z niebezpiecznymi ścieżkami.
Inne podatności w Go
Zobacz wszystkie- CVE-2026-27142Średnie
W języku Go akcje wstawiające adresy URL do atrybutu content znacznika meta HTML nie są escapowane. Może to umożliwić atak XSS, jeśli znacznik meta ma atrybut http-equiv o wartości "refresh". Dodano ustawienie GODEBUG htmlmetacontenturlescape do wyłączania escapowania.
- CVE-2026-27139Niskie
Na platformach Unix, podczas listowania zawartości katalogu za pomocą File.ReadDir lub File.Readdir, zwrócony FileInfo może odnosić się do pliku spoza Root, w którym otwarto plik. Wpływ tego wyjścia jest ograniczony do odczytu metadanych dostarczanych przez lstat z dowolnych lokalizacji w systemie plików, bez pozwolenia na odczyt lub zapis plików poza root.
- 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-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-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-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-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-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-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.
Oryginalny opis (angielski, źródło NVD)
It was possible to improperly access the parent directory of an os.Root by opening a filename ending in "../". For example, Root.Open("../") would open the parent directory of the Root. This escape only permits opening the parent directory itself, not ancestors of the parent or files contained withi
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

