كشف الفريق التقني الذي يقف وراء المكون الإضافي Contact Form 7 المثبت على موقع وردبرس الشهير، عن ثغرة أمنية مهمة وخطيرة في طريقة تحميل الملفات، معلناً عن تصحيح الخطأ في الإصدار الجديد.

يحصد المكون الإضافي المذكور أعلاه أكثر من 5 ملايين تثبيت نشط على العديد من المواقع الالكترونية التي تعمل على منصة WordPress، مما يعكس أهمية تنزيل الإصدار الحديث 5.3.2 في أسرع وقت ممكن للحفاظ على أمن الموقع.

 

ثغرة أمنية خلال تحميل الملفات

تم تحديد الثغرة غير المقيدة في مشروع Contact Form 7 خلال عملية تحميل الملفات (CVE-2020-35489) في مكون WordPress الإضافي. ويمكن أن تسمح هذه الثغرة للمهاجمين بتجاوز حماية اسم ملف نموذج الاتصال 7 عبر تحميل ملف خبيث، تم إعداده مسبقاً برمز عشوائي، على الخادم الضعيف.

في الإصدار القديم، لا يزيل البرنامج المساعد الأحرف الخاصة من اسم الملف الذي تم تحميله، بما في ذلك حرف التحكم والفواصل.

يقوم المهاجم بتحميل اسم ملف يحتوي على امتدادات مزدوجة، مفصولة بحرف غير قابل للطباعة أو بحرف خاص، مثل ملف يسمى “abc.php   .jpg”

بالنسبة إلى واجهة العميل الخاصة بنموذج جهة الاتصال 7، قد يبدو أن هذا ملف صورة (jpg.). عند التحميل على الخادم، من المحتمل أن يقوم النموذج بتحليل اسم الملف حتى الامتداد الأول وتجاهل الثاني بسبب الفاصل.

وبالتالي، سيصبح اسم الملف “abc.php”، وهو نص PHP يمكن للمهاجم الوصول إليه بسهولة بعد نجاح عملية التحميل، ليقوم بتشغيله كبرنامج نصي وثم تفعيل الكود الخبيث بداخله، بهدف تنفيذ تعليمات برمجية عشوائية على الخادم.

تم اكتشاف الثغرة الأمنية والإبلاغ عنها بواسطة Jinson Varghese Behanan، محلل أمن المعلومات في Astra Security، والذي أوضح بأنه اكتشف الثغرة الأمنية أثناء قيامه بإجراء تدقيق أمني لأحد العملاء.

وبالتالي، نظراً لأهمية الثغرة الأمنية وعدد مواقع WordPress التي تستخدم هذا المكون الإضافي الشهير، تم الإبلاغ بسرعة عن الثغرة الأمنية. في الجهة المقابلة، قام مطوّر المكون الإضافي Contact Form 7 بإصدار الإصلاح بشكل سريع جداً، ليظهر أن فريق العمل هو مثال يحتذى به فعلاً.