افزونه  WooCommerce Payments چیست؟

در ابتدا به معرفی این افزونه می‌پردازیم. افزونه WooCommerce Payments یکی از افزونه‌های بسیار محبوب وردپرس است که می‌تواند امکان پرداخت آنلاین فروشگاهی را برای وبسایت‌ها فراهم کند. این افزونه از کارت‌های اعتباری و نقدی پشتیبانی می‌کند. با یک جستجو ساده متوجه می‌شوید که این افزونه بیش از 600 هزار نصبی داشته است. به گزارش سایت افتا یک آسیب پذیری مهم برای این افزونه اعلام شده‌است که در ادامه به آن می‌پردازیم.

آسیب پذیری

در تاریخ 23 مارس 2023، توسعه دهندگان این افزونه یک آسیب پذیری با شناسه CVE-2023-28121 با امتیاز 9.8 را اعلام کردند. این آسیب‌پذیری به هکرها این امکان را میداد تا با هویت جعلی مدیر به سایت نفوذ کنند و کنترل کامل وبسایت را به دست بگیرد. این نقص امینتی نسخه‌های 4.8.0 و بالاتر در این افزونه را تحت تاثیر قرار میداد اما اکنون در نسخه‌های 4.8.2، 4.9.1، 5.0.4، 5.1.3، 5.4.1، 5.5.2، 5.6.2 و بالاتر نقص رفع گردیده‌است.

شرکت Automattic که تولید کننده وبسایت‌های وردپرسی است، پس از این اتفاقات برای وبسایت‌های وردپرسی اصلاحیه امنیتی ارسال کرد و این اصلاحیه بر روی تمام وبسایت‌‎ها بالاجبار بروزرسانی گردید. بعد از چند روز WooCommerce اعلام کرد که هیچ سوءاستفاده‌ای از طریق این نقص رخ نداده‌ است. اما کارشناسان هشدار دادند که امکان رخ دادن حادثه بخاطر این آسیب پذیری دور از ذهن نیست.

تحقیقات درباره آسیب پذیری

پس از مدت کوتاهی کارشناسان شرکت امنیتی RCE Security یک وبلاگ در خصوص این آسیب‌پذیری منتشر کردند و در آن نحوه عملکرد آن را توضیح دادند.

طبق گزارشات RCE Security مهاجمان می‌توانند با درخواست از طریق هدر X-WCPAY-PLATFORM-CHECKOUT-USER  و اضافه کردن نام کاربری که قصد جعل هویت آن را داشتند تنظیم کنند. سپس افزونه WooCommerce Payments با دریافت این هدر طوری برخورد می‌کند که انگار شناسه کاربری که این درخواست را ارسال کرده است به تمامی دسترسی‌ها مجاز است(ادمین). درادامه این گزاشات به یک نقص مفهومی اشاره شد که از این نقص برای ایجاد کاربر جدید با سطح دسترسی مدیر استفاده میشد. این آسیب پذیری باعث کنترل کامل بر وبسایت‌های وردپرسی توسط مهاجمان می‌شد، نام این نقص PoC exploit بود.

در 17 جولای 2023 شرکتی که تامین امنیت وردپرس را برعهده دارد، یعنی شرکت wordfence اعلام کرد که حدود 157هزار وبسایت در خطر کمین این آسیب‌پذیری قرار دارند. طبق گزارش این شرکت از تاریخ 14 تا 16 جولای بیش از 1.3 میلیون حمله علیه 157هزار وبسایت وردپرسی توسط آسیب‌پذیری CVE-2023-28121 صورت گرفت. در ادامه گزارشات wordfence مهاجمان از این اکسپلویت برای نصب افزونه WP Console یا ایجاد حساب کاربری جدید با دسترسی مدیر استفاده کردند. افزونه WP Console برای اجرای کدهای PHP یک آپلود کننده فایل را روی سرور نصب می‌کرد. با نصب این افزونه حتی پس از رفع آسیب‌پذیری، هکر از آن به عنوان درب پشتی برای نفوذ مجدد استفاده می‌کند.

هکرها برای آسیب به وبسایت‌هایی که این افزونه را نصب کردند، بدنبال دسترسی به فایل /wp-content/plugins/woocommerce-payments/readme.txt بودند و در صورتی که این فایل موجود بود و دسترسی پیدا می‌کردند، از این نقص سوءاستفاده می‌کردند.

درنهایت 7 آدرس IP معرفی شد که با آدرس IP 194.169.175.93 به اشتراک گذاشته شده بودند و تعداد 213212 وبسایت را اسکن کرده بودند.

راهکار برای جلوگیری

با توجه به سهولت سوءاستفاده از نقص CVE-2023-28121، به کاربرانی که از افزونه‌ی WooCommerce Payment در وبسایت خود استفاده می‎‌کنند، پیشنهاد می‌شود حتما از نسخه بروز این افزونه استفاده کنند. اگر مدت زمان زیادی از آخرین بروزرسانی شما میگذرد، حتما فایل‌های PHP مشکوک و غیرمعمول را از سرور خود حذف کنید. حساب‌هایی که سطح دسترسی مدیر دارند را بررسی کنید و در صورت مشاهده موارد مشکوک آنها را غیرفعال کنید.