Traefik — это обратный прокси-сервер HTTP и балансировщик нагрузки. В версиях >= v2.8.2–<= v2.11.55 и >= v3.0.0–<= v3.7.11 параметры входаPoints.<name>.transport.respondingTimeouts — в частности, readTimeout, который включается по умолчанию в 60 секундах — не применяются к пути запроса HTTP/3. readTimeout применяется как крайний срок для базового TCP-соединения, который нельзя применить к потоку QUIC, а сервер HTTP/3 Traefik построен без тайм-аута. В результате в точках входа с включенным HTTP/3 неаутентифицированный удаленный клиент, который пропускает байты тела запроса, может держать запрос открытым на неопределенный срок и, вместе с тем, одно восходящее соединение на каждый запрос, исчерпав ограниченные пулы внутренних соединений и вызывая отказ в обслуживании.
Проблема возникла в версии 2.8.2, когда быстрое изменение API удалило встроенный http.Server, который переносил эти таймауты. Исправлено в версиях 2.11.56 и 3.7.12.
Показать оригинальное описание (EN)
Traefik is an HTTP reverse proxy and load balancer. In versions >= v2.8.2 through <= v2.11.55 and >= v3.0.0 through <= v3.7.11, the entryPoints.<name>.transport.respondingTimeouts settings — notably readTimeout, which is enabled by default at 60s — are not applied to the HTTP/3 request path. readTimeout is enforced as a deadline on the underlying TCP connection, which cannot be applied to a QUIC stream, and Traefik's HTTP/3 server is constructed without any timeout. As a result, on entry points with HTTP/3 enabled, an unauthenticated remote client that trickles request body bytes can hold a request open indefinitely and, with it, one upstream connection per request, exhausting bounded backend connection pools and causing denial of service. The issue was introduced in v2.8.2 when a quic-go API change removed the embedded http.Server that carried these timeouts. Fixed in v2.11.56 and v3.7.12.
Характеристики атаки
Последствия
Строка CVSS v4.0
Тип уязвимости (CWE)
Уязвимые продукты 2
| Конфигурация | От (включительно) | До (исключительно) |
|---|---|---|
|
Traefik Traefik
cpe:2.3:a:traefik:traefik:*:*:*:*:*:*:*:*
|
2.8.2
|
2.11.56
|
|
Traefik Traefik
cpe:2.3:a:traefik:traefik:*:*:*:*:*:*:*:*
|
3.0.0
|
3.7.12
|