CVE-2026-58404
Hugo security.http.urls deny rules bypassed by alternate IPv4 encodings
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.
Attack profile
How easy it is to exploit
- Attack vector
- Network
- Complexity
- Low
- Privileges needed
- Low
- User interaction
- Passive
What an attacker can affect
- Confidentiality
- None
- Integrity
- None
- Availability
- None
Exploit likelihood
What each source reports
CVE List Score used
4.6
Hugo security.http.urls deny rules bypassed by alternate IPv4 encodings
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.
- Record
CVE-2026-58404- CVSS 4.0
- 4.6 Medium
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 - Weakness
- CWE-918
- Updated
- 2026-11-02
EUVDEUVD-2026-41918
4.6
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.
- Record
EUVD-2026-41918- CVSS 4.0
- 4.6 Medium
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 - Updated
- 2026-11-02
GitHub AdvisoriesGHSA-r46f-3rpw-hxrv
7.7
Hugo: security.http.urls deny rules bypassed by alternate IPv4 encodings (SSRF)
Impact
The default security.http.urls policy denies requests to loopback, internal,
and cloud-metadata IPv4 literals (e.g. http://127.0.0.1/,
http://169.254.169.254/). The deny rule only matched dotted-decimal notation,
so alternate IPv4 encodings of the same addresses — integer, hex, or octal,
which contain no dot — passed the policy:
http://2130706433/→127.0.0.1http://2852039166/→169.254.169.254(cloud metadata)http://0x7f000001/,http://017700000001/,http://0/
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/CI builds. The same check is reused on
redirects, so the gap also applies to each redirect hop.
This affects sites that rely on security.http.urls as a security boundary
while fetching attacker-influenced remote URLs; it does not affect sites that
fully trust the URLs they fetch.
Patches
Fixed in v0.163.1. Integer/hex/octal IPv4 hosts are now canonicalized to dotted-decimal before the policy is applied, so every encoding of an address is treated alike. No configuration change is required.
Workarounds
Avoid passing untrusted URLs to resources.GetRemote, or
tighten security.http.urls to an explicit allow-list of trusted hosts.
Affected versions
v0.162.0 – v0.163.0 (patched in v0.163.1).
- Record
GHSA-r46f-3rpw-hxrv- CVSS 4.0
- 7.7 High
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:N/SC:H/SI:N/SA:N - Weakness
- CWE-918
- Updated
- 2026-11-02
NVD
4.6
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.
- Record
CVE-2026-58404- CVSS 4.0
- 4.6 Medium
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/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X - CVSS 3.1
- 6.8 Medium
CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:H/I:N/A:N - Weakness
- CWE-918
- Updated
- 2026-11-02
OSV
4.6
Hugo security.http.urls deny rules bypassed by alternate IPv4 encodings
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.
- Record
CVE-2026-58404- CVSS 4.0
- 4.6 Medium
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 - Weakness
- CWE-918
- Updated
- 2026-11-02
OSVDEBIAN-CVE-2026-58404
6.8
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.
- Record
DEBIAN-CVE-2026-58404- CVSS 3.1
- 6.8 Medium
CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:H/I:N/A:N - Updated
- 2026-11-02
Show 4 moreShow less
OSVGHSA-r46f-3rpw-hxrv
7.7
Hugo: security.http.urls deny rules bypassed by alternate IPv4 encodings (SSRF)
Impact
The default security.http.urls policy denies requests to loopback, internal,
and cloud-metadata IPv4 literals (e.g. http://127.0.0.1/,
http://169.254.169.254/). The deny rule only matched dotted-decimal notation,
so alternate IPv4 encodings of the same addresses — integer, hex, or octal,
which contain no dot — passed the policy:
http://2130706433/→127.0.0.1http://2852039166/→169.254.169.254(cloud metadata)http://0x7f000001/,http://017700000001/,http://0/
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/CI builds. The same check is reused on
redirects, so the gap also applies to each redirect hop.
This affects sites that rely on security.http.urls as a security boundary
while fetching attacker-influenced remote URLs; it does not affect sites that
fully trust the URLs they fetch.
Patches
Fixed in v0.163.1. Integer/hex/octal IPv4 hosts are now canonicalized to dotted-decimal before the policy is applied, so every encoding of an address is treated alike. No configuration change is required.
Workarounds
Avoid passing untrusted URLs to resources.GetRemote, or
tighten security.http.urls to an explicit allow-list of trusted hosts.
Affected versions
v0.162.0 – v0.163.0 (patched in v0.163.1).
- Record
GHSA-r46f-3rpw-hxrv- CVSS 4.0
- 7.7 High
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:N/SC:H/SI:N/SA:N - Weakness
- CWE-918
- Updated
- 2026-11-02
OSVRHSA-2026:36862
6.8
Red Hat Security Advisory: Red Hat Hardened Images RPMs Security Update
- Record
RHSA-2026:36862- CVSS 3.1
- 6.8 Medium
CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:H/I:N/A:N - Updated
- 2026-11-02
OSVUBUNTU-CVE-2026-58404
4.6
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.
- Record
UBUNTU-CVE-2026-58404- CVSS 4.0
- 4.6 Medium
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 3.1
- 6.8 Medium
CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:H/I:N/A:N - Updated
- 2026-11-02
OSVGO-2026-5606 No score
Hugo: security.http.urls deny rules bypassed by alternate IPv4 encodings (SSRF) in github.com/gohugoio/hugo
Hugo: security.http.urls deny rules bypassed by alternate IPv4 encodings (SSRF) in github.com/gohugoio/hugo
- Record
GO-2026-5606- Updated
- 2026-11-02
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
github.com/gohugoio/hugoGo |
0.162.0 up to 0.163.1 | 0.163.1 |
hugoDebian:14 |
before 0.165.0-1, plus listed versions 0.131.0-10.131.0-20.150.0-10.150.1-10.151.0-1 Show 38 moreShow less0.151.1-10.151.2-10.152.1-10.152.2-10.153.0-10.153.1-10.153.1-20.153.1-30.153.2-10.154.1-10.154.2-10.154.2-20.154.3-10.154.5-10.155.1-10.155.2-10.155.3-10.157.0-10.157.0-20.157.0-30.158.0-10.158.0-20.158.0-30.159.0-10.159.1-10.159.2-10.160.0-10.160.0-20.160.1-10.161.0-10.161.1-10.162.1-10.162.1-20.162.1-30.162.1-40.162.1-50.162.1-60.162.1-7 |
0.165.0-1 |
hugoRed Hat:hummingbird:1 From an advisory covering 4 CVEs |
before 0:0.163.3-0.1.hum1 | 0:0.163.3-0.1.hum1 |
hugoUbuntu:16.04:LTS |
All versions, plus listed versions 0.15+git20160109.147.dd1d655-10.15+git20160109.147.dd1d655-20.15+git20160128.179.5def6d9-10.15+git20160206.203.ed23711-1 |
None known |
hugoUbuntu:18.04:LTS |
All versions, plus listed versions 0.25.1-20.26-10.35-10.37.1-10.38-10.39-10.40-10.40.1-1 |
None known |
hugoUbuntu:20.04:LTS |
All versions, plus listed versions 0.57.2-10.58.3-10.59.1-1.10.68.3-1 |
None known |
hugoUbuntu:22.04:LTS |
All versions, plus listed versions 0.80.0-60.89.4-20.90.0-10.90.1-10.91.0-1 Show 5 moreShow less0.91.2-10.92.0-10.92.1-1build10.92.2-10.92.2-1ubuntu0.1 |
None known |
hugoUbuntu:Pro:24.04:LTS |
All versions, plus listed versions 0.113.0-30.119.0-20.120.3-10.120.4-10.121.2-1 Show 8 moreShow less0.122.0-10.123.7-1build10.123.7-1ubuntu0.10.123.7-1ubuntu0.20.123.7-1ubuntu0.2+esm10.123.7-1ubuntu0.30.123.7-1ubuntu0.3+esm10.123.7-1ubuntu0.3+esm2 |
None known |
hugoUbuntu:25.10 |
All versions, plus listed versions 0.131.0-1 |
None known |
hugoUbuntu:26.10 |
All versions, plus listed versions 0.154.5-10.162.1-50.162.1-7 |
None known |
hugoUbuntu:26.04:LTS |
All versions, plus listed versions 0.131.0-10.152.2-10.153.1-30.153.2-10.154.2-20.154.3-10.154.5-1 |
None known |
History
| Recorded | Changed | Sources |
|---|---|---|
| affected, facts | ||
| first indexed | CVE List, EUVD, GitHub Advisories, NVD, OSV |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2026-58404 is a medium vulnerability (CVSS 4.6) in Gohugo Hugo, published June 19, 2026. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.37%, the 30th percentile. Fixed in github.com/gohugoio/hugo 0.163.1.
References
github.com/gohugoio/hugo/security/advisories/GHSA-r46f-3rpw-hxrv
github.com/gohugoio/hugo/pull/15020
github.com/gohugoio/hugo/commit/a00b5c72ac57afe26df6688ece3ca544a56df372
github.com/gohugoio/hugo/releases/tag/v0.163.1
github.com/advisories/GHSA-r46f-3rpw-hxrv
github.com/CVEProject/cvelistV5/tree/main/cves/2026/58xxx/CVE-2026-58404.json
Show 32 moreShow less
nvd.nist.gov/vuln/detail/CVE-2026-58404
security-tracker.debian.org/tracker/CVE-2026-58404
github.com/gohugoio/hugo
access.redhat.com/errata/RHSA-2026:36862
access.redhat.com/security/cve/CVE-2026-58402
access.redhat.com/security/cve/CVE-2026-58403
access.redhat.com/security/updates/classification
images.redhat.com
access.redhat.com/security/cve/CVE-2026-50133
access.redhat.com/security/cve/CVE-2026-58404
security.access.redhat.com/data/csaf/v2/advisories/2026/rhsa-2026_36862.json
bugzilla.redhat.com/show_bug.cgi?id=2497463
cve.org/CVERecord?id=CVE-2026-50133
nvd.nist.gov/vuln/detail/CVE-2026-50133
github.com/gohugoio/hugo/commit/e41a06447daa3071a01f333fdcec0a5153c3c8d1
github.com/gohugoio/hugo/releases/tag/v0.162.0
github.com/gohugoio/hugo/security/advisories/GHSA-c54g-xjwj-8g82
bugzilla.redhat.com/show_bug.cgi?id=2497467
cve.org/CVERecord?id=CVE-2026-58402
nvd.nist.gov/vuln/detail/CVE-2026-58402
github.com/gohugoio/hugo/commit/ce1a7e0bce3713af40496ded3c2c0ceeed49231d
github.com/gohugoio/hugo/pull/15051
github.com/gohugoio/hugo/releases/tag/v0.163.3
github.com/gohugoio/hugo/security/advisories/GHSA-q76j-gcg9-vxc6
bugzilla.redhat.com/show_bug.cgi?id=2497460
cve.org/CVERecord?id=CVE-2026-58403
nvd.nist.gov/vuln/detail/CVE-2026-58403
github.com/gohugoio/hugo/commit/cf9c8f93ca2a2838ce378f9e36d052ac2f79e229
github.com/gohugoio/hugo/security/advisories/GHSA-c3wq-j5vh-68rc
bugzilla.redhat.com/show_bug.cgi?id=2497450
cve.org/CVERecord?id=CVE-2026-58404
ubuntu.com/security/CVE-2026-58404