افزونه Ninja Forms، افزونهای با بیش از 1 میلیون نصب، یکی از محبوبترین افزونههای رایگان فرمساز وردپرس است که دارای امکانات حرفهای و رابط کاربری زیبا میباشد. این افزونه، ساخت فرم در وردپرس را برای مبتدیان آسان و سریع کرده و بهترین ابزار برای ساخت فرمهای حرفهای و پیچیدهتر برای سایت خواهد بود. این افزونه به کاربران وردپرس امکان میدهد فرمهای پیچیدهای در تنها چند دقیقه با کمک یک ویرایشگر مبتنی بر drag و drop ایجاد کنند.
توسعهدهندگان Ninja Forms، یک آسیبپذیری امنیتی بحرانی در این افزونه را وصله نمودند. این آسیبپذیری به مهاجمان امکان میدهد با تزریق کد مخرب و استفاده از نسخه وصله نشده افزونه، کنترل کاملی بر وبسایت به دست آورند. این آسیبپذیری یک جعل درخواست Cross-Site (CSRF)[1] است که باعث حملات اسکریپت Cross-site ذخیره شده (stored XSS) میشود و بر همه نسخههای افزونه پیش از نسخه 3.4.24.2 Ninja Forms اثر میگذارد. وصلهی افزونه Ninja Forms در وردپرس از ایجاد کنترل بر بیش از 1 میلیون سایت جلوگیری میکند.
مهاجمان میتوانند از آسیبپذیری موجود در افزونه با استفاده از فریب adminهای وردپرس جهت کلیک روی لینکهای ساختگی (که کد مخرب جاوااسکریپت را به عنوان بخشی از فرم تماس تازه وارد شده تزریق میکند)، سوءاستفاده کنند.
1 فرمهای حاوی کد مخرب
مهاجم میتواند با استفاده از یک کد مخرب، از عملکرد افزونه جهت جایگزین کردن کل فرمهای موجود در وبسایت هدف سوءاستفاده کند. بدین منظور باید از تابع ninja_forms_ajax_import_form AJAX اضافه شده در حالت legacy افزونه که بازگشت به بخش طراحی و ویژگیهای موجود در نسخههای قدیمی را امکانپذیر میکند، سوءاستفاده کند. این تابع مجاز بودن کاربران را بررسی نکرده و بنابراین پس از کلیک روی یک لینک ساختگی وimport فرمهای حاوی کد مخرب جاوااسکریپت، شنود درخواستها را با استفاده از سیستم admin امکانپذیر میکند. همه فرمهای موجود در یک وبسایت تحت تأثیر نیز میتوانند پس از دستکاری پارامترformID $_POST با فرمهای مخرب جایگزین شوند.
به گفته محققان، در صورت بازدید Admin از صفحه Import/Export افزونه یا ویرایش هر کدام از فیلدهای فرم، جاوااسکریپت import شده در فرم، بر اساس محل آن هنگام بازدید از یک صفحه حاوی این فرم میتواند در مرورگر قربانی اجرا شود.
همانطور که در حملات اسکریپت Cross-Site (XSS) مرسوم است، اسکریپت مخرب اجرا شده در مرورگر Admin، میتواند جهت ایجاد حسابهای کاربری جدید Admin و ایجاد کنترل کامل بر سایت استفاده شود؛ در حالی که اجرای یک اسکریپت مخرب در مرورگر بازدید کننده تنها میتواند باعث تغییر مسیر بازدید کننده به سایت مخرب شود.
2 بیش از 800,000 سایت همچنان در معرض خطر هستند
این آسیبپذیری کشف و در 27 آوریل به آزمایشگاه Wordfence گزارش شد. یک وصله امنیتی جهت وصله این آسیبپذیری در نسخه 3.4.24.2 در کمتر از یک روز پس از گزارش افشا منتشر شد.
آزمایشگاه Wordfence این آسیبپذیری را با شدت 8.8 و شدت بالا محاسبه کرد. کلیه کاربران Ninja Forms باید فوراً افزونه خود را به نسخه 3.4.24.2، که کاملاً این آسیبپذیری را وصله میکند، به روز رسانی کنند.
براساس آمارها، در هفته گذشته تنها حدود 170,000 کاربر از 1 میلیون کاربر افزونه خود را به آخرین نسخه بدون آسیبپذیری بهروزرسانی کردهاند.
3 مرجع
[1]
[1] Cross Site Request Forgery: حملهای است که کاربر را وادار به اجرای یک عمل ناخواسته در یک برنامه وب احراز هویت شده میکند.