![האקרים מנצלים פגם בתוסף וורדפרס שנותן שליטה מלאה במיליוני אתרים](/f/89f99bd960e7ac9b5e3ba76672c4239d.jpeg)
Getty Images
האקרים מנצלים באופן פעיל פגיעות קריטית בתוסף וורדפרס בשימוש נרחב המעניק להם את היכולת להשתלט על מיליוני אתרים, אמרו חוקרים.
הפגיעות, הנושאת דירוג חומרה של 8.8 מתוך 10 אפשריים, קיימת ב-Elementor Pro, תוסף פרימיום פועל על יותר מ-12 מיליון אתרים המופעלים על ידי מערכת ניהול התוכן של וורדפרס. Elementor Pro מאפשר למשתמשים ליצור אתרים איכותיים באמצעות מגוון רחב של כלים, אחד מהם הוא WooCommerce, תוסף וורדפרס נפרד. כאשר התנאים הללו מתקיימים, כל מי שיש לו חשבון באתר - נניח מנוי או לקוח - יכול ליצור חשבונות חדשים בעלי הרשאות מנהל מלאות.
הפגיעות התגלתה על ידי ג'רום ברואנדה, חוקר בחברת האבטחה NinTechNet. בשבוע שעבר, Elementor, מפתחת התוסף Elementor Pro, מְשׁוּחרָר גרסה 3.11.7, אשר תיקנה את הפגם. ב הודעה שפורסם ביום שלישי, כתב ברואנדה:
תוקף מאומת יכול למנף את הפגיעות כדי ליצור חשבון מנהל מערכת על ידי הפעלת רישום (
users_can_register
) והגדרת תפקיד ברירת המחדל (default_role
) ל"מנהל", שנה את כתובת הדוא"ל של מנהל המערכת (admin_email
) או, כפי שמוצג להלן, הפנה מחדש את כל התנועה לאתר זדוני חיצוני על ידי שינויsiteurl
בין אפשרויות רבות אחרות:MariaDB [example]> SELECT * FROM `wp_options` WHERE `option_name`='siteurl'; +++++ | option_id | option_name | option_value | autoload | +++++ | 1 | siteurl | https://evil.com | yes | +++++ 1 row in set (0.001 sec)
כעת, חוקרים עם חברת אבטחה נפרדת, PatchStack, להגיש תלונה שהפגיעות נמצאת תחת ניצול אקטיבי. התקפות מגיעות ממגוון כתובות IP, כולל:
- 193.169.194.63
- 193.169.195.64
- 194.135.30.6
לקבצים שהועלו לאתרים שנפגעו יש לרוב את השמות הבאים:
- wp-resortpack.zip
- wp-rate.php
- lll.zip
לעתים קרובות כתובות אתרים של אתרים שנפגעו משתנות ל:
- away[dot]trackersline[dot]com
פגיעות בקרת הגישה השבורה נובעת מהשימוש של Elementor Pro ברכיב "elementor-pro/modules/woocommerce/module.php". כאשר WooCommerce פועל, סקריפט זה רושם את פעולות AJAX הבאות:
/** * Register Ajax Actions. * * Registers ajax action used by the Editor js. * * @since 3.5.0 * * @param Ajax $ajax */ public function register_ajax_actions( Ajax $ajax ) { // `woocommerce_update_page_option` is called in the editor save-show-modal.js. $ajax->register_ajax_action( 'pro_woocommerce_update_page_option', [ $this, 'update_page_option' ] ); $ajax->register_ajax_action( 'pro_woocommerce_mock_notices', [ $this, 'woocommerce_mock_notices' ] ); }
ו
/** * Update Page Option. * * Ajax action can be used to update any WooCommerce option. * * @since 3.5.0 * * @param array $data */ public function update_page_option( $data ) { update_option( $data['option_name'], $data['editor_post_id'] ); }
הפונקציה update_option "אמורה לאפשר למנהל או למנהל החנות לעדכן כמה אפשרויות ספציפיות של WooCommerce, אבל קלט המשתמש אינו מאומת והפונקציה חסרה בדיקת יכולת להגביל את הגישה שלה למשתמש בעל הרשאות גבוהות בלבד," Bruandet הסביר. הוא המשיך:
אלמנטור משתמשת במטפל AJAX משלה כדי לנהל את רוב פעולות ה-AJAX שלה, כולל
pro_woocommerce_update_page_option
, עם הגלובליelementor_ajax
פעולה. הוא ממוקם בסקריפט "elementor/core/common/modules/ajax/module.php" של הגרסה החינמית (שנדרשת כדי להפעיל את Elementor Pro):/** * Handle ajax request. * * Verify ajax nonce, and run all the registered actions for this request. * * Fired by `wp_ajax_elementor_ajax` action. * * @since 2.0.0 * @access public */ public function handle_ajax_request() { if (! $this->verify_request_nonce() ) { $this->add_response_data( false, esc_html__( 'Token Expired.', 'elementor' ) ) ->send_error( Exceptions:: UNAUTHORIZED ); }...
כל מי שמשתמש ב-Elementor Pro צריך לוודא שהוא פועל בגרסה 3.11.7 ואילך, מכיוון שכל הגרסאות הקודמות פגיעות. כמו כן, מומלץ למשתמשים אלו לבדוק באתרים שלהם את סימני הזיהום הרשומים בפוסט של PatchStack.