تم الكشف عن ثغرة أمنية جديدة تتعلق بتنفيذ التعليمات البرمجية عن بُعد (RCE) لـ PHP لنظام التشغيل Windows، مما يؤثر على جميع الإصدارات منذ الإصدار 5.x، ومن المحتمل أن يؤثر على عدد كبير من الخوادم في جميع أنحاء العالم.
PHP هي لغة برمجة نصية مفتوحة المصدر تستخدم على نطاق واسع ومصممة لتطوير الويب وتستخدم بشكل شائع على خوادم Windows وLinux.
تم اكتشاف ثغرة RCE الجديدة التي تم تتبعها باسم CVE-2024-4577، بواسطة باحث الأمن الرئيسي في Devcore Orange Tsai في 7 مايو 2024، والذي أبلغ مطوري PHP عنها.
أصدر مشرفو مشروع PHP تصحيحًا أمس لمعالجة الثغرة الأمنية.
ومع ذلك، فإن تطبيق التحديثات الأمنية على مشروع بمثل هذا النشر على نطاق واسع يعد أمرًا معقدًا ويمكن أن يترك عددًا كبيرًا من الأنظمة عرضة للهجمات لفترات طويلة.
لسوء الحظ، عندما يتم الكشف عن ثغرة أمنية خطيرة تؤثر على العديد من الأجهزة، تبدأ الجهات الفاعلة في مجال التهديد والباحثين على الفور في محاولة العثور على الأنظمة المعرضة للخطر.
هذا هو الحال مع CVE-2024-4577، حيث اكتشفت مؤسسة Shadowserver Foundation بالفعل عدة عناوين IP تقوم بالبحث عن الخوادم المعرضة للخطر.
الخلل CVE-2024-4577
سبب الخلل CVE-2024-4577 هو خطأ في التعامل مع تحويلات ترميز الأحرف، وتحديدًا ميزة “Best-Fit” على Windows عند استخدام PHP في وضع CGI.
“أثناء تنفيذ PHP، لم يلاحظ الفريقالأنسبميزة تحويل الترميز داخل نظام التشغيل Windows”، يوضح أ استشارات DevCore.
“تسمح هذه الرقابة للمهاجمين غير المصادقين بتجاوز الحماية السابقة لـCVE-2012-1823من خلال تسلسل أحرف محددة. يمكن تنفيذ تعليمات برمجية عشوائية على خوادم PHP البعيدة من خلال هجوم حقن الوسيطات.”
يتحايل هذا الخلل على إجراءات الحماية التي طبقها فريق PHP في الماضي CVE-2012-1823، الذي كان استغلالها في هجمات البرمجيات الخبيثة بعد عدة سنوات من إصلاحها.
يوضح المحللون أنه حتى لو لم يتم تكوين PHP في وضع CGI، فإن CVE-2024-4577 قد يظل قابلاً للاستغلال طالما أن ملفات PHP التنفيذية (على سبيل المثال، php.exe أو php-cgi.exe) موجودة في أدلة يمكن الوصول إليها بواسطة قاعدة بيانات للانترنت.
نظرًا لأن هذا هو التكوين الافتراضي على XAMPP لنظام التشغيل Windows، يحذر DEVCORE من أن جميع عمليات تثبيت XAMPP على Windows من المحتمل أن تكون معرضة للخطر.
وتزداد المشكلة سوءًا عند استخدام مواقع معينة تكون أكثر عرضة لخلل تحويل الترميز هذا، بما في ذلك اللغة الصينية التقليدية والصينية المبسطة واليابانية.
كما تقول Devcore، تؤثر الثغرة الأمنية CVE-2024-4577 على جميع إصدارات PHP لنظام التشغيل Windows، إذا كنت تستخدم PHP 8.0 (نهاية الحياة)، أو PHP 7.x (EoL)، أو PHP 5.x (EoL)، فأنت بحاجة إما إلى للترقية إلى إصدار أحدث أو استخدام عوامل التخفيف الموضحة أدناه.
استراتيجية العلاج
يجب على أولئك الذين يستخدمون إصدارات PHP المدعومة الترقية إلى الإصدارات التي تتضمن التصحيحات: PHP 8.3.8، وPHP 8.2.20، وPHP 8.1.29.
بالنسبة للأنظمة التي لا يمكن ترقيتها على الفور ومستخدمي إصدارات EoL، يوصى بتطبيق قاعدة mod_rewrite لمنع الهجمات، مثل ما يلي:
RewriteEngine OnRewriteCond %{QUERY_STRING} ^%ad [NC]RewriteRule .? – [F,L]
إذا كنت تستخدم XAMPP ولا تحتاج إلى ميزة PHP CGI، فابحث عن التوجيه “ScriptAlias” في ملف تكوين Apache (عادةً في “C:/xampp/Apache/conf/extra/httpd-xampp.conf”) وقم بالتعليق عليه .
يمكن للمسؤولين تحديد ما إذا كانوا يستخدمون PHP-CGI باستخدام وظيفة phpinfo() والتحقق من ‘واجهة برمجة تطبيقات الخادم“القيمة في الإخراج.
يقترح DEVCORE أيضًا أن يفكر مسؤولو النظام في الانتقال من CGI إلى بدائل أكثر أمانًا، مثل FastCGI وPHP-FPM وMod-PHP.