
Preuve de concept pour CVE-2021-40346, démontrant la contrebande de requêtes HTTP dans HAProxy via un dépassement d'entier, avec un environnement basé sur Docker pour contourner les contrôles d'accès.
Un dépassement d'entier sur la représentation interne de l'en-tête de requête permet le trafic smuggling HTTP. Ce dépôt présente un PoC construit avec docker-compose utilisant deux images docker : l'une avec une version vulnérable de HaProxy (dans ce cas 2.2.16) et l'autre avec un serveur web Flask utilisant Gunicorn comme WSGI. En exploitant la vulnérabilité, nous sommes capables d'accéder à la page /admin, dont les requêtes sont bloquées par HaProxy via une règle définie par l'utilisateur.
Exécutez les commandes suivantes dans le terminal pour démarrer le conteneur docker HaProxy et l'image du serveur Flask :
docker-compose up
Envoyez la charge utile à HaProxy :
cat payload | nc localhost 8000
Pour l'arrêter, exécutez :
docker-compose down