CVE-2026-50134: Hugo: security.http.urls allow-list bypass via HTTP redirects
Commit: 86fbb0f7a8 — security: Validate redirects against security.http.urls Affected versions: v0.91.0 (when security.http.urls was introduced) through v0.161.1. Fixed in: v0.162.0. Severity: Only relevant for sites that rely on security.http.urls as a trust boundary — e.g. CI builds that fetch remote resources but want to constrain which hosts can be reached. Not an issue if you fully trust every URL passed to resources.GetRemote.
Description. resources.GetRemote enforces security.http.urls on the URL it is called with, but until v0.162.0 it did not re-validate intermediate URLs on HTTP 3xx redirects. An allowed server (or an attacker controlling its DNS or response) could therefore redirect the request to a host that the policy was meant to forbid — for example, http://localhost/ or an internal IP — and Hugo would fetch from the redirected target. The same bypass also lifted any host-shape restriction the operator had put in place.
Mitigation. v0.162.0 installs a CheckRedirect on the HTTP client used by resources.GetRemote that re-runs security.http.urls on every redirect target and caps the redirect chain at 10 hops. No configuration change is required.
Other sources
Hugo is a static site generator. From 0.91.0 until 0.162.0, resources.GetRemote enforces security.http.urls on the URL it is called with, but it did not re-validate intermediate URLs on HTTP 3xx redirects. An allowed server (or an attacker controlling its DNS or response) could therefore redirect the request to a host that the policy was meant to forbid and Hugo would fetch from the redirected target. The same bypass also lifted any host-shape restriction the operator had put in place. This vulnerability is fixed in 0.162.0.
— MITRE
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
go/github.com/gohugoio/hugoto a version that resolves this vulnerability.Fixed in 0.162.0 - Upgrade
Upgrade
hugoto a version that resolves this vulnerability.Fixed in v0.162.0 - Compensating control
If you cannot upgrade to v0.162.0 yet, do not use security.http.urls as a trust boundary for untrusted inputs to resources.GetRemote; fully trust every URL passed to resources.GetRemote to prevent bypass via HTTP 3xx redirects.
Event History
Frequently Asked Questions
What is the severity of CVE-2026-50134?
CVE-2026-50134 has a risk score of 47, indicating a moderate level of severity.
How do I fix CVE-2026-50134?
CVE-2026-50134 can be fixed by upgrading to version v0.162.0 or later of Hugo.
What versions are affected by CVE-2026-50134?
CVE-2026-50134 affects Hugo versions from v0.91.0 to v0.161.1.
What type of vulnerability is CVE-2026-50134?
CVE-2026-50134 is classified as a Server-Side Request Forgery (SSRF) vulnerability.
Who should be concerned about CVE-2026-50134?
CVE-2026-50134 is primarily relevant for sites that rely on the `security.http.urls` configuration in Hugo.