CVE-2026-58404 PUBLISHED

Hugo security.http.urls deny rules bypassed by alternate IPv4 encodings

Assigner: GitHub_M
Reserved: 30.06.2026 Published: 06.07.2026 Updated: 07.07.2026

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.

Metrics

CVSS Vector: CVSS:4.0/AV:N/AC:L/AT:P/PR:L/UI:P/VC:N/VI:N/VA:N/SC:H/SI:N/SA:N
CVSS Score: 4.6

Product Status

Vendor gohugoio
Product hugo
Versions
  • Version >= v0.162.0, < v0.163.1 is affected

References

Problem Types

  • CWE-918: Server-Side Request Forgery (SSRF) CWE