CVE-2026-77972
KrytyczneCVSS 9.0Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 25 - wyżej niż 25% wszystkich znanych CVE
Streszczenie
Podatność typu Time-of-check Time-of-use (TOCTOU) w Slab safeurl pozwala atakującemu kontrolującemu odpowiedzi DNS hostname na dotarcie do wewnętrznych celów sieciowych, które walidacja odrzuciła. Walidacja zwraca werdykt, a nie adres, który zatwierdziła, więc klienci HTTP dostarczani z biblioteką otrzymują oryginalny hostname i rozwiązują go ponownie przy wysyłaniu żądania. Atakujący kontrolujący autorytatywny DNS dla nazwy może odpowiedzieć na pierwsze zapytanie dozwolonym adresem, a na drugie zablokowanym, przez co żądanie dociera do celu, którego walidacja nigdy nie zatwierdziła. To samo okno otwiera się bez atakującego, gdy nazwa legalnie rozwiązuje się na różne adresy między zapytaniami, np. przy krótkim czasie życia rekordów lub rotacji między kilkoma adresami. Problem dotyczy safeurl od wersji 0.1.0.
Ocena ryzyka
Podatność umożliwia obejście walidacji adresów i dostęp do wewnętrznych zasobów sieciowych, co może prowadzić do nieautoryzowanego dostępu do usług wewnętrznych i eksfiltracji danych.
Rekomendacja
Zaktualizuj bibliotekę safeurl do wersji zawierającej poprawkę lub zastosuj środki zaradcze, takie jak przypinanie adresów IP po walidacji.
Inne podatności w safeurl
Zobacz wszystkie- CVE-2026-77866Krytyczne
Podatność Server-Side Request Forgery (SSRF) w Slab safeurl pozwala atakującemu kontrolującemu zwalidowany URL na dotarcie do wewnętrznych celów sieciowych, które biblioteka ma blokować. Tylko adresy IPv4 są dopasowywane do zarezerwowanych zakresów i blocklisty. Każdy inny adres jest traktowany jako niepasujący do niczego, więc cel odrzucony w formie IPv4 jest akceptowany, gdy jest zapisany jako adres IPv6, wpisy IPv6 w blockliście nigdy nie pasują, a host, który nie rozwiązuje się na żaden adres IPv4, jest akceptowany niezależnie od tego, gdzie wskazuje. Wdrożenia opierające się na allowliście są nienaruszone, ponieważ tam niedopasowany adres jest odrzucany. Problem dotyczy safeurl od wersji 0.1.0.
- CVE-2026-54452Średnie
W bibliotece safeurl przed wersją 0.2.4 lista privateNetworks w ip.go pomija zakresy IPv6 64:ff9b:1::/48, 5f00::/16, 3fff::/20 oraz 100:0:0:1::/64. Gdy aplikacja włączy IPv6 poprzez EnableIPv6(true), cel atakującego w jednym z tych zakresów nie jest rozpoznawany jako niepubliczny i może przejść kontrolę SSRF. IPv6 jest domyślnie wyłączony, więc konfiguracje z EnableIPv6(false) nie są narażone.
Oryginalny opis (angielski, źródło NVD)
Time-of-check Time-of-use (TOCTOU) Race Condition in Slab safeurl allows an attacker who controls a hostname's DNS responses to reach internal network destinations that validation rejected. Validation returns a verdict and not the address it approved, so the HTTP clients the library ships receive the original hostname and resolve it a second time when the request is made. An attacker who controls the authoritative DNS for a name can answer the first lookup with a permitted address and the second with a blocked one, and the request then reaches a destination validation never approved. The same window opens without an attacker whenever a name legitimately resolves to different addresses across lookups, such as short record lifetimes or rotation between several addresses. This issue affects safeurl: from 0.1.0 onward.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

