
استغلال لـ CVE-2024-40586: يجبر مضيفي Windows على المصادقة عبر أنبوب مسمى ضعيف في FortiClient، مما يتيح تصعيد الامتيازات إلى SYSTEM أو الحركة الجانبية عبر هجمات الترحيل.
على نظام Windows، تبيّن أن FortiClient (إصدار التطبيق 7.0.8.0427) يسمح لمستخدم عن بُعد غير مميَّز بإجبار مضيفي Windows على المصادقة إلى أجهزة أخرى عبر named pipe مسؤولة عن خدمة FortiSSLVPNdaemon.
لوحظ أن named pipe باسم "FortiSslvpnNamedPipe" يسمح بالقراءة والكتابة لأي مستخدم.

يقرأ التطبيق البايت الخامس من المخزن المؤقت الوارد من named pipe كرمز تشغيل PipeBuffer+4

لوحظ أن التطبيق سيقرأ ملفًا إذا كان كود التشغيل يساوي 24 (أي 0x18).
مسار الكود: Case 24 => LABEL_26 => strncpy ينسخ الحمولة إلى متغير Buffer => يمرر الحمولة إلى sub_7FF60C3EAC20 => يستدعي CreateFileA => ReadFile



ومع ذلك، لا يقوم التطبيق بأي إجراء بشأن محتوى الملف.
يمكننا إرسال حركة مرور مصمّمة (أي "\x00\x00\x00\x00\x18\x00" متبوعة بالمسار الهدف) إلى named pipe الثغرة "FortiSslvpnNamedPipe" لتشغيل كود التشغيل 24 وإجبار العملية "FortiSSLVPNdaemon.exe" على استدعاء CreateFileA بصلاحية SYSTEM. لذلك، يمكننا إجبار الخادم على الاتصال بملف بعيد عن طريق إرسال مسار UNC (مثل "\\<remote ip>\<file path>") أو الاتصال بـ named pipe محلي (مثل "\\127.0.0.1\pipe\<named pipe>")
لإجبار مضيفي Windows على المصادقة إلى أجهزة أخرى باستخدام مستخدم عن بُعد غير مصادَق، يمكن للمستخدم اتباع الخطوات التالية:

لتنفيذ تصعيد صلاحيات إلى SYSTEM من مستخدم محلي بصلاحية "SeImpersonatePrivilege" (مثل "nt authority\network service")، يمكن للمستخدم اتباع الخطوات التالية:
ImpersonateNamedPipeClient() لانتحال صلاحية SYSTEM.