CVE-2026-3635

MEDIUM CVSS 3.1: 6,1 EPSS 0.01%
Обновлено 16 апреля 2026
Fastify
Параметр Значение
CVSS 6,1 (MEDIUM)
Уязвимые версии до 5.8.3
Устранено в версии 5.8.3
Тип уязвимости CWE-348
Поставщик Fastify
Публичный эксплойт Нет

Резюме Когда в TrustProxy настроена функция ограничительного доверия (например, определенный IP-адрес, например TrustProxy: '10.0.0.1', подсеть, количество переходов или пользовательская функция), геттеры request.protocol и request.host считывают заголовки X-Forwarded-Proto и X-Forwarded-Host из любого соединения, включая соединения с ненадежных IP-адресов. Это позволяет злоумышленнику, подключающемуся напрямую к Fastify (минуя прокси-сервер), подделать протокол и хост, видимые приложением. Затронутые версии фиксировать <= 5.8.2 Воздействие Приложения, использующие request.protocol или request.host для принятия решений по безопасности (принудительное применение HTTPS, безопасные флаги cookie, проверки происхождения CSRF, создание URL-адресов, маршрутизация на основе хоста), затрагиваются, когда в TrustProxy настроена функция ограничительного доверия.

КогдаtrustProxy: true (доверять всему), и хост, и протокол доверяют всем пересылаемым заголовкам — это ожидаемое поведение. Уязвимость проявляется только при использовании ограничительных конфигураций доверия.

Показать оригинальное описание (EN)

Summary When trustProxy is configured with a restrictive trust function (e.g., a specific IP like trustProxy: '10.0.0.1', a subnet, a hop count, or a custom function), the request.protocol and request.host getters read X-Forwarded-Proto and X-Forwarded-Host headers from any connection — including connections from untrusted IPs. This allows an attacker connecting directly to Fastify (bypassing the proxy) to spoof both the protocol and host seen by the application. Affected Versions fastify <= 5.8.2 Impact Applications using request.protocol or request.host for security decisions (HTTPS enforcement, secure cookie flags, CSRF origin checks, URL construction, host-based routing) are affected when trustProxy is configured with a restrictive trust function. When trustProxy: true (trust everything), both host and protocol trust all forwarded headers — this is expected behavior. The vulnerability only manifests with restrictive trust configurations.

Характеристики атаки

Способ атаки
Смежная сеть
Нужен доступ к локальной сети
Сложность
Высокая
Сложно эксплуатировать
Нужны права
Не требуются
Права не нужны
Участие пользователя
Не требуется
Не нужно действие пользователя

Последствия

Конфиденциальность
Высокое
Полная утечка данных
Целостность
Нет
Нет модификации данных
Доступность
Нет
Нет нарушения работы

Строка CVSS v3.1

Тип уязвимости (CWE)

Уязвимые продукты 1

Конфигурация От (включительно) До (исключительно)
Fastify Fastify
cpe:2.3:a:fastify:fastify:*:*:*:*:*:node.js:*:*
5.8.3

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