Крейт gix-url gitoxy (<= 0.32.0, исправлено в версии 0.37.1) использует анализатор URL-адресов, созданный вручную, который не обрабатывает '?' или '#' как завершение компонента полномочий, что противоречит RFC 3986. Как следствие, защита идентификации HTTP-перенаправления gix-transport (can_reuse_identity) сравнивает неправильный хост и не открывается. Злоумышленник, управляющий ответом на перенаправление, может создать заголовок Location в форме <attacker-authority>?@<original-authority>, чтобы gitoxyd отправлял учетные данные базовой авторизации HTTP вызывающего абонента на непредусмотренный хост. gix-transport затронут в версиях <= 0.49.0 (исправлено в 0.58.1).
Показать оригинальное описание (EN)
gitoxide's gix-url crate (<= 0.32.0, fixed in 0.37.1) uses a hand-rolled URL parser that does not treat '?' or '#' as terminating the authority component, contrary to RFC 3986. As a consequence, gix-transport's HTTP redirect identity guard (can_reuse_identity) compares the wrong host and fails open. An attacker controlling a redirect response can craft a Location header of the form <attacker-authority>?@<original-authority> so that gitoxide sends the caller's HTTP Basic Authorization credentials to an unintended host. gix-transport is affected in versions <= 0.49.0 (fixed in 0.58.1).
Характеристики атаки
Последствия
Строка CVSS v4.0
Тип уязвимости (CWE)
Уязвимые продукты 2
| Конфигурация | От (включительно) | До (исключительно) |
|---|---|---|
|
Gitoxidelabs Gitoxide
cpe:2.3:a:gitoxidelabs:gitoxide:*:*:*:*:*:*:*:*
|
— |
0.37.1
|
|
Gitoxidelabs Gitoxide
cpe:2.3:a:gitoxidelabs:gitoxide:*:*:*:*:*:*:*:*
|
— |
0.58.1
|