Traefik — это обратный прокси-сервер HTTP с открытым исходным кодом и балансировщик нагрузки. До версий 2.11.53, 3.6.24 и 3.7.9 обратный прокси-сервер HTTP Traefik по умолчанию перенаправляет простой запрос HTTP/2 или HTTP/3 CONNECT и его тело в восходящий поток HTTP/1.1 через общую сеть/http.Transport. Когда восходящий поток отвечает на CONNECT поддерживающим ответом, отличным от 2xx, и не очищает тело, Traefik возвращает десинхронизированный внутренний сокет в свой общий пул и повторно использует его для других клиентов.
Злоумышленник, не прошедший проверку подлинности, может использовать такое поведение, чтобы заставить другого клиента прочитать контрабандный ответ злоумышленника, который может включать проверенный или частный контент из другого запроса. Промежуточное программное обеспечение ForwardAuth с параметрами frontBody true и saveRequestMethod true может повторно выдать CONNECT с прикрепленным буферизованным телом, подвергая пул клиентов аутентификации той же десинхронизации. Эта проблема исправлена в версиях 2.11.53, 3.6.24 и 3.7.9.
Показать оригинальное описание (EN)
Traefik is an open source HTTP reverse proxy and load balancer. Prior to 2.11.53, 3.6.24, and 3.7.9, Traefik's default HTTP reverse proxy forwards a plain HTTP/2 or HTTP/3 CONNECT request and its body to an HTTP/1.1 upstream through a shared net/http.Transport. When the upstream answers the CONNECT with a keep-alive non-2xx response and does not drain the body, Traefik returns the desynchronized backend socket to its shared pool and reuses it for other clients. An unauthenticated attacker can use this behavior to make a different client read the attacker's smuggled response, which can include authenticated or private content from another request. The ForwardAuth middleware with forwardBody true and preserveRequestMethod true can re-issue a CONNECT with the buffered body attached, exposing the auth-client pool to the same desynchronization. This issue is fixed in 2.11.53, 3.6.24, and 3.7.9.
Характеристики атаки
Последствия
Строка CVSS v4.0