
Proof-of-concept per CVE-2021-40346, che dimostra lo smuggling di richieste HTTP in HAProxy tramite integer overflow, con ambiente basato su Docker per bypassare i controlli di accesso.
L'overflow di interi sulla rappresentazione interna dell'header di richiesta consente lo smuggling di richieste HTTP. Questo repository presenta un PoC realizzato con docker-compose utilizzando due immagini docker: una con una versione vulnerabile di HaProxy (in questo caso 2.2.16) e una con un server web Flask che utilizza Gunicorn come WSGI. Sfruttando la vulnerabilità siamo in grado di accedere alla pagina /admin, le cui richieste vengono bloccate da HaProxy tramite una regola definita dall'utente.
Esegui i seguenti comandi sul terminale per avviare il container docker HaProxy e l'immagine del server Flask:
docker-compose up
Invia il payload a HaProxy:
cat payload | nc localhost 8000
Per arrestarlo esegui:
docker-compose down