تم تصحيح الثغرات الأمنية ذات الأولوية العالية في البرنامج المساعد Uncode Core

مسؤل

مقدمة

في 7 مايو 2024، نشرت WP-Firewall، وهي منظمة استشارية أمنية رائدة، تقريرًا مفصلاً حول الثغرات الأمنية الخطيرة المكتشفة في المكون الإضافي Uncode Core. إذا كنت من مستخدمي Uncode، فمن الضروري تحديث المكون الإضافي الأساسي الخاص بك إلى الإصدار 2.8.9 على الأقل لحماية موقع WordPress الخاص بك من الهجمات المحتملة. سوف تتعمق هذه المقالة في تفاصيل نقاط الضعف هذه وآثارها والخطوات المتخذة للتخفيف منها.

حول البرنامج المساعد Uncode الأساسية

يعد المكون الإضافي Uncode Core، الذي طورته Undsgn، مكونًا أساسيًا في قالب Uncode — وهو قالب متميز شائع جدًا لمواقع WooCommerce، مع أكثر من 110,000 عملية بيع على ThemeForest. يشتهر قالب Uncode بتصميمه المثالي للبيكسل، مما يجعله مثاليًا لمختلف مواقع الويب، بما في ذلك المحافظ والوكالات والمستقلين والمدونات والمتاجر عبر الإنترنت.

الثغرات الأمنية

حدد الباحثون الأمنيون في WP-Firewall'اثنتين من نقاط الضعف المهمة في المكون الإضافي Uncode Core:

1. المصادقة على حذف الملفات والدليل التعسفي

وصف: تسمح هذه الثغرة الأمنية لأي مستخدم تمت مصادقته وله دور مشترك على الأقل بحذف الدلائل العشوائية الموجودة على الخادم. تكمن المشكلة في وظيفة "delete_download"، التي تفتقر إلى الإذن المناسب وعمليات التحقق. هذه الوظيفة مرفقة بالإجراء `wp_ajax_uncodefont_delete_download`، مما يتيح للمستخدمين المصادق عليهم استغلالها.

تفاصيل تقنية:

وظيفة حذف_تنزيل () {
إذا (isset($_REQUEST['font_family'])) {
$font_family = $_REQUEST['font_family'];
$font_dir = Trailingslashit($this->font_directory).$font_family;
$fontkit_zip = $font_dir.'.zip';

إذا (@file_exists($fontkit_zip)) {
إذا (!@unlink($fontkit_zip)) {
صدى json_encode(صفيف(
'خطأ' => sprintf( esc_html__( 'فشل في حذف @fontface kit zip %1$s.', 'uncode-core' ), $fontkit_zip )
));
موت()؛
}
}

// لا يمكن حذف الدليل، لأن unzip_file، الذي أنشأه، يستخدم WP_Filesystem. لذلك نستخدم WP_Filesystem لحذفه.
$this->setup_wp_filesystem();

نظام ملفات $wp_العالمي؛
إذا (إيسيت($wp_filesystem)) {
$delete_dir = $wp_filesystem->delete($font_dir, true);
إذا (!$delete_dir) {
echo json_encode(array('error' => $delete_dir['error']));
موت()؛
}
}

echo json_encode(array('success' => "تم حذف التنزيل"));
}
موت()؛
}
يتضمن/font-system/font-system.php، الدالةdelete_download()

تقوم الوظيفة بإنشاء المتغير `$font_dir` من إدخال المستخدم (`$_REQUEST['font_family']`) دون إجراء عملية تنظيف، مما يسمح باجتياز الدليل والحذف التعسفي.

2. تصعيد الامتياز المصادق عليه

وصف: تتيح هذه الثغرة الأمنية لأي مستخدم تمت مصادقته ولديه الحد الأدنى من دور المشترك إمكانية تصعيد امتيازاته إلى أي دور على موقع WordPress. ويرجع ذلك إلى تحديث WP Option غير الآمن في وظيفة `save_option`، والتي تفتقر إلى التحقق من الأذونات المناسبة.

تفاصيل تقنية:

الوظيفة العامة save_option() {
إذا ( isset( $_POST['nonce'] ) && wp_verify_nonce( $_POST['nonce'], 'uncode-core-settings-nonce' ) ) {
إذا ( isset( $_POST['value'] ) && $_POST['value'] && isset( $_POST['option_id'] ) && $_POST[&#x27 ;option_id'] ) {
$autoload = isset( $_POST['autoload'] ) && $_POST['autoload'] === 'true' ؟ خطأ صحيح؛
update_option( $_POST['option_id'], $_POST['value'], $autoload );
---------- اقطع هنا ----------
يتضمن/الإعدادات الأساسية/class-core-settings.php، وظيفة save_option ()

يمكن استرداد الرقم المستخدم في هذه الوظيفة بواسطة أي مستخدم تمت مصادقته ولديه حق الوصول إلى منطقة wp-admin، مما يسمح بإجراء تحديثات غير مصرح بها للخيارات وتصعيد الامتيازات.

التصحيح

لمعالجة هذه الثغرات الأمنية، أصدر مطورو البرنامج الإضافي Uncode Core الإصدار 2.8.9، والذي يتضمن الإصلاحات التالية:

مصادقة الملف التعسفي وحذف الدليل: تم تنفيذ الإذن والتحقق من وظيفة `delete_download`.

تصعيد الامتياز المصادق عليه: تم تطبيق الإذن والتحقق من عدم وجود شيء في وظيفة `save_option` وإضافة فحص القائمة البيضاء لمفاتيح الخيارات.

خاتمة

يتضمن ضمان أمان موقع WordPress الخاص بك البقاء على اطلاع بأحدث التصحيحات والاستشارات الأمنية. تؤكد نقاط الضعف الموجودة في البرنامج الإضافي Uncode Core على أهمية تنفيذ الإذن المناسب والتحقق من أي إجراءات حساسة. قم دائمًا بتطهير مدخلات المستخدم والحد من نطاق ما يمكن تحديثه أو حذفه من خلال إجراءات المستخدم.

لمزيد من المعلومات التفصيلية، يمكنك قراءة النصائح الأمنية الكاملة على موقع الويب الخاص بـ WP-Firewall's هنا.

ابق آمنًا

يقدم WP-Firewall حلولاً متنوعة لأمان WordPress، بما في ذلك تدقيق المكونات الإضافية ومراقبة الثغرات الأمنية والاستجابة لها وخدمات أمان WordPress المُدارة. إذا كنت مطورًا للمكونات الإضافية أو باحثًا أمنيًا، ففكر في الانضمام إلى WP-Firewall.


wordpress security update banner

احصل على WP Security Weekly مجانًا 👋
أفتح حساب الأن
!!

قم بالتسجيل لتلقي تحديث أمان WordPress في بريدك الوارد كل أسبوع.

نحن لا البريد المزعج! اقرأ لدينا سياسة الخصوصية لمزيد من المعلومات.