Lab Dockerisé Apache mod_lua avec un PoC Python reproduisant le débordement de tampon de limite multipart CVE-2021-44790 pour les tests défensifs locaux et la recherche.
Ce dépôt contient un petit laboratoire local et des outils de preuve de concept pour reproduire la vulnérabilité du serveur Apache HTTP Server référencée sous CVE-2021-44790.
CVE-2021-44790 est une vulnérabilité dans Apache HTTP Server 2.4.51/2.4.52 impliquant l'analyseur de requêtes multipart de mod_lua. Une frontière multipart spécialement conçue peut déclencher une condition de dépassement de tampon dans le serveur lorsque la frontière est traitée par le gestionnaire Lua.
Ce laboratoire est destiné uniquement à l'apprentissage, aux tests défensifs et à la reproduction locale contrôlée dans un environnement non-production.
CVE-2021-44790.py — PoC Python / assistant d'exploitation pour tester la vulnérabilité contre une cible.cve-2021-44790-lab/ — Environnement de laboratoire Apache + Lua dockerisé reproduisant le comportement vulnérable.
Dockerfilehttpd.conflua/upload.luaDepuis la racine du dépôt :
docker build -t cve-2021-44790-lab ./cve-2021-44790-lab
docker run --rm -it -p 80:80 cve-2021-44790-lab
Le laboratoire expose un point de terminaison d'envoi simple à l'adresse :
http://127.0.0.1/upload
La configuration Apache active le gestionnaire mod_lua vulnérable et définit une limite de taille de corps de requête élevée afin que les charges utiles multipart puissent être envoyées au serveur.
Exécutez le script Python contre la cible :
python CVE-2021-44790.py --help
Exemple :
python CVE-2021-44790.py --url http://127.0.0.1/upload --boundary-size 9000 --payload-size 10000000
Le script prend en charge des options pour :
Le matériel de ce dépôt est fourni pour la recherche légale en sécurité, les tests en laboratoire et l'éducation sur les vulnérabilités. L'auteur et les contributeurs ne sont pas responsables de l'utilisation abusive du code ou de toute activité destructive réalisée avec celui-ci.