اكتشف الباحثون ثغرة أمنية خطيرة في تنفيذ التعليمات البرمجية عن بعد في PHP CGI، المعينة CVE-2024-4577، والتي تؤثر على جميع إصدارات Windows من PHP CGI. تسمح هذه الثغرة الأمنية للمهاجمين غير المصادقين بتنفيذ تعليمات برمجية عشوائية على الخوادم البعيدة عبر حقن الوسيطات، وتجاوز وسائل الحماية السابقة. تم إصدار التصحيح في 6 يونيو 2024، ويُنصح المستخدمون بشدة بالتحديث إلى أحدث إصدارات PHP أو تطبيق عمليات تخفيف مؤقتة.
تحديث 16 يونيو:
تستغل عصابة برامج الفدية TellYouThePass الثغرة الأمنية التي تم تصحيحها مؤخرًا (CVE-2024-4577) في PHP لنشر أغطية الويب وتنفيذ حمولة التشفير الخاصة بها على الأنظمة المستهدفة. بدأت الهجمات في 8 يونيو، مباشرة بعد إصدار التحديثات الأمنية، باستخدام أكواد الاستغلال المتاحة للعامة. لقد استخدم TellYouThePass، المعروف باستغلال الثغرات الأمنية واسعة النطاق، ثغرات Apache ActiveMQ وLog4j سابقًا. تتضمن الهجمات الحالية تشفير الملفات والمطالبة بفدية قدرها 0.1 بيتكوين (حوالي 6700 دولار) لفك التشفير.
تنبع الثغرة الأمنية من الرقابة في تنفيذ PHP. وعلى وجه التحديد، ميزة Best-Fit لتحويل الترميز داخل نظام التشغيل Windows. يسمح هذا للمهاجمين غير المصادقين بتجاوز الحماية السابقة لـ CVE-2012-1823 باستخدام تسلسلات أحرف محددة. والنتيجة هي أنه يمكن تنفيذ تعليمات برمجية عشوائية على خوادم PHP البعيدة من خلال هجوم حقن الوسيطات.
تتضمن سيناريوهات الهجوم تكوينات تقوم بتشغيل PHP ضمن وضع CGI أو الكشف عن ثنائي PHP، كما هو الحال في عمليات تثبيت XAMPP المعرضة للخطر بشكل افتراضي.
لقد ثبت أن الثغرة الأمنية قابلة للاستغلال على أنظمة Windows باستخدام اللغات الصينية التقليدية والصينية المبسطة واليابانية. على الرغم من عدم وجود استغلال معروف في مناطق أخرى مثل الإنجليزية وأوروبا الغربية، إلا أنه لا يزال يوصى بإجراء تقييمات شاملة للأصول وتحديثات PHP نظرًا لاحتمال سيناريوهات الاستغلال المستقبلية.
تتأثر الإصدارات التالية من PHP بهذه الثغرة الأمنية:
-
PHP 8.3 قبل الإصدار
8.3.8 -
PHP 8.2 قبل الإصدار
8.2.20 -
PHP 8.1 قبل الإصدار
8.1.29
PHP 8.0، وPHP 7، وPHP 5 هي إصدارات منتهية الصلاحية، ولم تعد تتم صيانتها، ويُفترض أيضًا أنها معرضة للخطر.
وفقًا لبيانات Wiz، فإن 34% من البيئات السحابية تحتوي على موارد Windows تعمل على تشغيل إصدارات ضعيفة من PHP.
تم نشر إثبات للمفهوم ولاحظ الباحثون محاولات استغلال.
تحديث 11 يونيو:
يستفيد TellYouThePass من الخطأ الحرج CVE-2024-4577 لتنفيذ كود PHP التعسفي على الأنظمة المستهدفة. تستخدم العصابة ملف Windows mshta.exe الثنائي لتشغيل ملف تطبيق HTML (HTA) ضار يحتوي على VBScript بسلسلة مشفرة base64. يتم فك تشفير هذه السلسلة إلى سلسلة ثنائية، مما يؤدي إلى تحميل متغير .NET من برنامج الفدية في ذاكرة المضيف. يرسل برنامج الفدية بعد ذلك طلب HTTP متنكرًا في شكل طلب مورد CSS إلى خادم الأوامر والتحكم ويقوم بتشفير الملفات الموجودة على الجهاز المصاب. يتم ترك مذكرة فدية، “READ_ME10.html،” على النظام مع تعليمات للضحية حول كيفية استعادة ملفاتهم. تشير التقارير إلى أن هذه الهجمات أثرت على مواقع ويب متعددة منذ بدايتها.
الترقية إلى أحدث إصدارات PHP (8.3.8, 8.2.20, 8.1.29). PHP 8.0، وPHP 7، وPHP 5 هي إصدارات منتهية الصلاحية، ولم تعد تتم صيانتها. يوصى بالترقية إلى فرع أحدث أو استخدام التوصيات المؤقتة المذكورة أدناه.
بالنسبة لأولئك غير القادرين على الترقية، قم بتطبيق قواعد إعادة الكتابة المتوفرة لمنع الهجمات. لاحظ أن هذه القواعد ليست سوى تخفيف مؤقت للغات الصينية التقليدية والصينية المبسطة واليابانية. لا يزال يوصى بالتحديث إلى إصدار مصحح أو ترحيل البنية عمليًا.
إعادة كتابة القواعد:
RewriteEngine On
RewriteCond %{QUERY_STRING} ^%ad [NC]
RewriteRule .? - [F,L]
يجب على مستخدمي XAMPP تعطيل ميزة PHP CGI إذا لم تكن هناك حاجة إليها عن طريق التعليق على الأسطر ذات الصلة في تكوين Apache HTTP Server:
# ScriptAlias /php-cgi/ “C:/xampp/php/”
يمكن لعملاء Wiz استخدام الاستعلام والاستشارات المعدة مسبقًا في Wiz Threat Center للبحث عن المثيلات الضعيفة في بيئتهم.
