Katalog CVE

CVE-2026-58404

ŚrednieCVSS 6.8
Opublikowano: Zaktualizowano: Przetłumaczono: NVD NIST

Prawdopodobieństwo exploitacji (EPSS)

Niskie ryzyko
0.21%

Percentyl 11 - wyżej niż 11% wszystkich znanych CVE

Streszczenie

Podatność w Hugo od wersji v0.162.0 do v0.163.0 pozwala na obejście polityki bezpieczeństwa blokującej żądania do adresów IPv4 typu loopback, wewnętrznych i cloud-metadata. Polityka sprawdzała tylko notację dziesiętną z kropkami, co umożliwiało użycie alternatywnych kodowań IPv4 (całkowitoliczbowego, szesnastkowego lub ósemkowego) do ominięcia blokady. W rezultacie, gdy szablon przekazuje niezaufany URL do funkcji resources.GetRemote, a platforma używa resolwera cgo, te kodowania pozwalają na wysyłanie żądań do wewnętrznych usług i punktów końcowych cloud-metadata w środowiskach hostowanych lub CI.

Ocena ryzyka

Atakujący może wykorzystać tę lukę do przeprowadzenia ataków SSRF (Server-Side Request Forgery) na wewnętrzne usługi lub punkty końcowe cloud-metadata, co może prowadzić do wycieku danych, eskalacji uprawnień lub przejęcia kontroli nad środowiskiem budowania.

Rekomendacja

Należy natychmiast zaktualizować Hugo do wersji v0.163.1 lub nowszej, która zawiera poprawkę usuwającą lukę. Dodatkowo warto przejrzeć szablony pod kątem przekazywania niezaufanych danych do funkcji resources.GetRemote.

Oryginalny opis (angielski, źródło NVD)

Hugo is a static site generator. From v0.162.0 through v0.163.0, the default security.http.urls policy denies requests to loopback, internal, and cloud-metadata IPv4 literals, but the deny rule only matched dotted-decimal notation, so alternate IPv4 encodings of the same addresses, including integer, hex, or octal, passed the policy. When a template passes an untrusted or data-derived URL to resources.GetRemote and the host platform uses the cgo system resolver, these encodings resolve to the blocked address, allowing build-time server-side requests to loopback and internal services, including the cloud-metadata endpoint in hosted or CI builds; the same check is reused on redirects, so the gap also applies to each redirect hop. This issue is fixed in v0.163.1.

Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS