خطر در کمین ۷۰۰ هزار سایت: حفره امنیتی افزونه TablePress وردپرس!

آسیب‌پذیری در افزونه وردپرس TablePress؛ خطر حملات XSS ذخیره شده تا ۷۰۰ هزار وب‌سایت را تهدید می‌کند.

یک آسیب‌پذیری امنیتی در افزونه TablePress وردپرس به مهاجمان اجازه می‌دهد اسکریپت‌های مخرب را تزریق کنند که هنگام بازدید از یک صفحه آلوده، اجرا می‌شوند. این مشکل تمامی نسخه‌های این افزونه تا نسخه ۳.۲ را تحت تاثیر قرار می‌دهد.

افزونه TablePress وردپرس

افزونه TablePress در بیش از ۷۰۰ هزار وب‌سایت مورد استفاده قرار می‌گیرد. این افزونه به کاربران امکان می‌دهد تا جداول مختلف را با قابلیت‌های تعاملی مانند مرتب‌سازی، صفحه‌بندی و جستجو ایجاد و مدیریت کنند.

علت بروز آسیب‌پذیری

مشکل اصلی از عدم وجود فرآیندهای کافی برای پاکسازی ورودی (Input Sanitization) و فرار از خروجی (Output Escaping) در نحوه پردازش پارامتر `shortcode_debug` توسط افزونه نشأت می‌گیرد. این دو، مراحل امنیتی پایه‌ای هستند که وب‌سایت‌ها را در برابر ورودی‌های مضر و خروجی‌های ناامن محافظت می‌کنند.

گزارش امنیتی Wordfence به این موضوع اشاره کرده است:

“افزونه TablePress وردپرس به دلیل پاکسازی ناکافی ورودی و فرار از خروجی، در تمامی نسخه‌های تا ۳.۲ (شامل ۳.۲) دچار آسیب‌پذیری تزریق اسکریپت بین‌سایتی ذخیره شده (Stored XSS) از طریق پارامتر ‘shortcode_debug’ است.”

پاکسازی ورودی (Input Sanitization)

پاکسازی ورودی، متونی را که کاربران در فرم‌ها یا فیلدهای مختلف وارد می‌کنند، فیلتر می‌کند. این فرآیند، ورودی‌های مضر مانند اسکریپت‌های مخرب را مسدود می‌کند. افزونه TablePress این مرحله امنیتی را به طور کامل اجرا نکرده بود.

فرار از خروجی (Output Escaping)

فرار از خروجی شبیه به پاکسازی ورودی عمل می‌کند، اما در جهت مخالف؛ یعنی آنچه را که قرار است در وب‌سایت نمایش داده شود، فیلتر می‌کند. این فرآیند از انتشار کاراکترهایی که مرورگرها ممکن است آن‌ها را به عنوان کد شناسایی کنند، جلوگیری می‌نماید.

دقیقاً همین اتفاق در افزونه TablePress رخ داده است؛ زیرا با پاکسازی ناکافی ورودی، مهاجم می‌تواند یک اسکریپت را آپلود کند و با فرار ناکافی از خروجی، وب‌سایت نمی‌تواند جلوی تزریق اسکریپت‌های مخرب به وب‌سایت زنده را بگیرد. این موضوع منجر به وقوع حملات تزریق اسکریپت بین‌سایتی ذخیره شده (Stored XSS) می‌شود.

به دلیل فقدان هر دو این مکانیزم‌های حفاظتی، فردی با سطح دسترسی “Contributor” یا بالاتر می‌توانست اسکریپتی را آپلود کند که در سایت ذخیره شده و هر بار که صفحه بازدید می‌شود، اجرا گردد. این واقعیت که نیاز به احراز هویت سطح Contributor است، تا حدی پتانسیل حمله را کاهش می‌دهد.

به کاربران این افزونه توصیه می‌شود که حتماً آن را به نسخه ۳.۲.۱ یا بالاتر به‌روزرسانی کنند.

پاسخی بگذارید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *