
Доказательство концепции для CVE-2021-40346, демонстрирующее контрабанду HTTP-запросов в HAProxy через целочисленное переполнение, с Docker-окружением для обхода контроля доступа.
Целочисленное переполнение во внутреннем представлении заголовка запроса позволяет осуществлять контрабанду HTTP-запросов. В этом репозитории представлен PoC, созданный с помощью docker-compose и использующий два docker-образа: один с уязвимой версией HaProxy (в данном случае 2.2.16) и один с Flask-веб-сервером, использующим Gunicorn в качестве WSGI. Используя эту уязвимость, мы можем получить доступ к странице /admin, запросы к которой блокируются HaProxy с помощью пользовательского правила.
Выполните следующие команды в терминале, чтобы запустить docker-контейнер HaProxy и образ Flask-сервера:
docker-compose up
Отправьте payload в HaProxy:
cat payload | nc localhost 8000
Чтобы остановить его, выполните:
docker-compose down