версии fast-uri с 2.3.1 по 3.1.2 и 4.0.0 не могут канонизировать имена хостов Unicode (IDN) для URL-адресов семейства HTTP. Путь преобразования IDN вызывает вспомогательный метод, которого нет в глобальном конструкторе URL-адресов, молча оставляя хост в его исходной форме Unicode, в то время как Normalize() и Equal() по-прежнему возвращают значения, которые отличаются от анализатора URL-адресов, совместимого с WHATWG. Приложения, которые используют fast-uri для реализации политики на основе хоста (списки запретов, петлевая фильтрация, проверка перенаправления, исходящая маршрутизация прокси-сервера) перед передачей одного и того же URL-адреса на URL-адрес узла или выборку, можно обойти, когда две реализации разрешают один и тот же ввод на разные хосты.
Исправления: обновите fast-uri до версии 3.1.3 для линейки 3.x или 4.0.1 для линейки 4.x. Обходные пути: применяйте политику хоста, используя тот же анализатор URL-адресов, который использовался для фактического запроса, или отклоняйте хосты, не использующие ASCII, перед проверкой политики.
Показать оригинальное описание (EN)
fast-uri versions 2.3.1 through 3.1.2 and 4.0.0 fail to canonicalize Unicode (IDN) hostnames for HTTP-family URLs. The IDN conversion path calls a helper that does not exist on the global URL constructor, silently leaving the host in its original Unicode form while normalize() and equal() still return values that differ from a WHATWG-compatible URL parser. Applications that use fast-uri to enforce host-based policy (denylists, loopback filtering, redirect validation, outbound proxy routing) before passing the same URL to Node's URL or fetch can be bypassed when the two implementations resolve the same input to different hosts. Patches: upgrade to fast-uri 3.1.3 for the 3.x line or 4.0.1 for the 4.x line. Workarounds: enforce host policy using the same URL parser used for the actual request, or reject non-ASCII hosts before policy checks.
Характеристики атаки
Последствия
Строка CVSS v3.1
Уязвимые продукты 2
| Конфигурация | От (включительно) | До (исключительно) |
|---|---|---|
|
Openjsf Fast-Uri
cpe:2.3:a:openjsf:fast-uri:*:*:*:*:*:node.js:*:*
|
2.3.1
|
3.1.3
|
|
Openjsf Fast-Uri
cpe:2.3:a:openjsf:fast-uri:*:*:*:*:*:node.js:*:*
|
4.0.0
|
4.0.1
|