H3 — это минимальная структура H(TTP). Версии с 2.0.0-0 по 2.0.1-rc.14 содержат уязвимость подмены заголовка хоста в NodeRequestUrl (который расширяет FastURL), которая позволяет обходить промежуточное программное обеспечение. При доступе к event.url, event.url.hostname или event.url._url, например, в промежуточном программном обеспечении для ведения журналов, метод получения _url создает URL-адрес из ненадежных данных, включая управляемый пользователем заголовок хоста.
Поскольку маршрутизатор H3 разрешает обработчик маршрута до запуска промежуточного программного обеспечения, злоумышленник может предоставить созданный заголовок Host (например, Host: localhost:3000/abchehe?), чтобы сделать проверку пути промежуточного программного обеспечения неудачной, пока обработчик маршрута все еще соответствует, эффективно обходя промежуточное программное обеспечение аутентификации или авторизации. Это влияет на любое приложение, созданное на H3 (включая Nitro/Nuxt), которое обращается к свойствам event.url в промежуточном программном обеспечении, защищающем конфиденциальные маршруты. Эта проблема требует немедленного исправления, чтобы предотвратить создание FastURL.href с использованием необработанных входных данных, контролируемых злоумышленником.
Версия 2.0.1-rc.15 содержит исправление для этой проблемы.
Показать оригинальное описание (EN)
H3 is a minimal H(TTP) framework. Versions 2.0.0-0 through 2.0.1-rc.14 contain a Host header spoofing vulnerability in the NodeRequestUrl (which extends FastURL) which allows middleware bypass. When event.url, event.url.hostname, or event.url._url is accessed, such as in a logging middleware, the _url getter constructs a URL from untrusted data, including the user-controlled Host header. Because H3's router resolves the route handler before middleware runs, an attacker can supply a crafted Host header (e.g., Host: localhost:3000/abchehe?) to make the middleware path check fail while the route handler still matches, effectively bypassing authentication or authorization middleware. This affects any application built on H3 (including Nitro/Nuxt) that accesses event.url properties in middleware guarding sensitive routes. The issue requires an immediate fix to prevent FastURL.href from being constructed with unsanitized, attacker-controlled input. Version 2.0.1-rc.15 contains a patch for this issue.
Характеристики атаки
Последствия
Строка CVSS v3.1
Тип уязвимости (CWE)
Уязвимые продукты 14
| Конфигурация | От (включительно) | До (исключительно) |
|---|---|---|
|
H3 H3
cpe:2.3:a:h3:h3:2.0.0:*:*:*:*:node.js:*:*
|
— | — |
|
H3 H3
cpe:2.3:a:h3:h3:2.0.1:rc10:*:*:*:node.js:*:*
|
— | — |
|
H3 H3
cpe:2.3:a:h3:h3:2.0.1:rc11:*:*:*:node.js:*:*
|
— | — |
|
H3 H3
cpe:2.3:a:h3:h3:2.0.1:rc12:*:*:*:node.js:*:*
|
— | — |
|
H3 H3
cpe:2.3:a:h3:h3:2.0.1:rc13:*:*:*:node.js:*:*
|
— | — |
|
H3 H3
cpe:2.3:a:h3:h3:2.0.1:rc14:*:*:*:node.js:*:*
|
— | — |
|
H3 H3
cpe:2.3:a:h3:h3:2.0.1:rc2:*:*:*:node.js:*:*
|
— | — |
|
H3 H3
cpe:2.3:a:h3:h3:2.0.1:rc3:*:*:*:node.js:*:*
|
— | — |
|
H3 H3
cpe:2.3:a:h3:h3:2.0.1:rc4:*:*:*:node.js:*:*
|
— | — |
|
H3 H3
cpe:2.3:a:h3:h3:2.0.1:rc5:*:*:*:node.js:*:*
|
— | — |
|
H3 H3
cpe:2.3:a:h3:h3:2.0.1:rc6:*:*:*:node.js:*:*
|
— | — |
|
H3 H3
cpe:2.3:a:h3:h3:2.0.1:rc7:*:*:*:node.js:*:*
|
— | — |
|
H3 H3
cpe:2.3:a:h3:h3:2.0.1:rc8:*:*:*:node.js:*:*
|
— | — |
|
H3 H3
cpe:2.3:a:h3:h3:2.0.1:rc9:*:*:*:node.js:*:*
|
— | — |