Уязвимость во многих reverse proxy, поддерживающих HTTP/2

Опубликован новый вариант атаки «HTTP Request Smuggling», позволяющей «вклиниться» в запросы других пользователей при использовании HTTP/1.1 persistent connection между прокси (фронтендом) и бэкендом.

В данном случае речь идёт о передаче атакующим некорректных заголовков «Content-Length» и «Transfer-Encoding» через HTTP/2, что вызывает сбой синхронизации постоянного соединения между фротендом и бэкендом и отправку клиентам чужих ответов.

Иллюстрация из оригинальной публикации:

image-loader.svg

Продемонстрирована возможность кражи кук, авторизационных данных, подстановки стороннего js-кода и т. п.; атаке оказались подвержены Netflix, Atlassian, AWS, F5 BIG-IP…

По поводу nginx F5 заявило «NGINX is not affected by this security exposure» без указания конкретных версий, однако в выпущенном месяц назад nginx 1.21.1 содержатся исправления, связанные с обработкой заголовков HTTP/2.

Первые CVE и патчи, связанные с уязвимостью, появились весной этого года: CVE-2021–21295, CVE-2021–33193.

Достаточно подробный перевод описания уязвимости опубликован на opennet.

© Habrahabr.ru