Логотип exploitDog
Консоль
Логотип exploitDog

exploitDog

github логотип

GHSA-vxgm-5rmg-5w8g

Опубликовано: 16 июн. 2026
Источник: github
Github: Прошло ревью

Описание

Hugo: security.http.urls allow-list bypass via HTTP redirects

Commit: 86fbb0f7a8security: 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.

Пакеты

Наименование

github.com/gohugoio/hugo

go
Затронутые версииВерсия исправления

>= 0.91.0, < 0.162.0

0.162.0

EPSS

Процентиль: 16%
0.00249
Низкий

Дефекты

CWE-918

Связанные уязвимости

CVSS3: 5.8
ubuntu
около 1 месяца назад

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.

CVSS3: 5.8
redhat
около 1 месяца назад

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.

CVSS3: 5.8
nvd
около 1 месяца назад

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.

CVSS3: 5.8
debian
около 1 месяца назад

Hugo is a static site generator. From 0.91.0 until 0.162.0, resources. ...

EPSS

Процентиль: 16%
0.00249
Низкий

Дефекты

CWE-918