آسیب‌پذیری پلاگین فورمیناتور در وردپرس امکان اجرای کد از راه دور بدون احراز هویت را از طریق آپلود فایل PHP مخرب فراهم می‌کند

اشتراک گذاری

پلاگین فورمیناتور
❞ یک آسیب‌پذیری بحرانی با شناسه CVE-2026-15748 در پلاگین فورمیناتور (Forminator Forms) وردپرس شناسایی شده است. این آسیب‌پذیری که در سیستم امتیازدهی CVSS، امتیاز 9.8 از 10 را دریافت کرده است، به مهاجمان اجازه می‌دهد بدون نیاز به احراز هویت فایل‌های دلخواه، از جمله فایل‌های PHP قابل اجرا را روی سایت‌های آسیب‌پذیر آپلود کنند. این شرایط در نهایت می‌تواند منجر به اجرای کد از راه دور (RCE) و کنترل کامل وب‌سایت توسط مهاجم شود. پلاگین فورمیناتور بیش از 600 هزار نصب فعال دارد و به همین دلیل، این آسیب‌پذیری می‌تواند طیف گسترده‌ای از سایت‌های وردپرسی را تحت تأثیر قرار دهد.

جزئیات فنی آسیب‌پذیری پلاگین فورمیناتور

این آسیب‌پذیری توسط یک پژوهشگر امنیتی با نام مستعار آنلاین «daroo» شناسایی و گزارش شده است. سوءاستفاده از این آسیب‌پذیری تنها در صورتی امکان‌پذیر است که سایت هدف شرایط زیر را داشته باشد:

  • فرم موردنظر باید دارای فیلد آپلود فایل (File Upload) باشد.
  • همین فرم باید به‌طور هم‌زمان دارای فیلد انتخاب (Select) نیز باشد.

نسخه 1.56.1 و تمام نسخه‌های قدیمی‌تر پلاگین فورمیناتور تحت تأثیر این آسیب‌پذیری قرار دارند. این آسیب‌پذیری در نسخه 1.56.2 که در 31 جولای 2026 منتشر شده، پچ شده است.

به گفته Wordfence، ریشه این آسیب‌پذیری به تابع handle_file_upload() بازمی‌گردد؛ جایی که نوع فایل‌های ارسال‌شده توسط کاربر به‌درستی اعتبارسنجی نمی‌شود. این ضعف امنیتی، امکان آپلود فایل دلخواه (Arbitrary File Upload) را برای مهاجم فراهم می‌کند.

نحوه سوءاستفاده از آسیب‌پذیری

این آسیب‌پذیری به مهاجمان بدون احراز هویت اجازه می‌دهد با ارسال یک فرم، فایل‌های دلخواه، از جمله یک فایل PHP دست‌کاری‌شده، را روی سایت آسیب‌پذیر آپلود کنند. در صورت موفقیت حمله، اجرای این فایل می‌تواند منجر به اجرای کد از راه دور (RCE) شود و در نهایت امکان کنترل کامل سایت را برای مهاجم فراهم کند.

به گفته Wordfence، ریشه این آسیب‌پذیری پلاگین فورمیناتور به اعتبارسنجی ناکافی نوع فایل در تابع handle_file_upload() بازمی‌گردد. در این تابع، فهرست مسدودسازی پسوندهای خطرناک (Dangerous-Extension Blocklist) برای شناسایی پسوندهای غیرمجاز از تطبیق دقیق کلید (Exact-Key Matching) استفاده می‌کند؛ اما مهاجم می‌تواند با استفاده از کلیدهای جایگزین MIME مبتنی بر پایپ (Pipe-Alternative MIME Type Keys) این سازوکار را دور بزند.

از سوی دیگر، سازوکار عمومی پردازش فرم (Public Submission Handler) به پیکربندی فیلد آپلود که تحت کنترل مهاجم قرار دارد، اعتماد می‌کند. مهاجم می‌تواند این پیکربندی را از طریق یک مقدار جعلی در فیلد انتخاب (Select) وارد فرآیند پردازش فرم کند. ترکیب این دو ضعف باعث می‌شود مهاجم بتواند محدودیت‌های مربوط به نوع فایل را دور بزند و فایل دلخواه خود را روی سایت آپلود کند.

تأثیر پیکربندی محل ذخیره فایل بر آسیب‌پذیری پلاگین فورمیناتور

نحوه پیکربندی محل ذخیره فایل‌های آپلودشده می‌تواند بر امکان سوءاستفاده از آسیب‌پذیری پلاگین فورمیناتور تأثیر بگذارد. در پیکربندی پیش‌فرض، فایل‌های آپلودشده در دایرکتوری‌ای ذخیره می‌شوند که فایل .htaccess از آن محافظت می‌کند و مانع اجرای فایل‌های PHP در این مسیر می‌شود.

اما اگر ادمین سایت، محل ذخیره‌سازی سفارشی فایل‌های آپلودشده را در پیکربندی پلاگین تعیین کرده باشد، ممکن است این فایل‌ها در مسیری ذخیره شوند که .htaccess از آن محافظت نمی‌کند. در این حالت، فایل .htaccess فقط در صورت نیاز ایجاد خواهد شد. با این حال، هنگام ارسال یک درخواست فرانت‌اند (Frontend Request)، ابزار کمکی وردپرس مسئول ایجاد این فایل بارگذاری نمی‌شود و در نتیجه .htaccess ایجاد نخواهد شد.

در چنین شرایطی، ارسال یک درخواست برای فایل آپلودشده از سوی مهاجم کافی است تا وب‌سرور کد PHP تحت کنترل او را اجرا کند. بنابراین، فایل PHP مخرب آپلودشده از طریق این آسیب‌پذیری می‌تواند مستقیماً توسط وب‌سرور اجرا شود.

آسیب‌پذیری دور زدن احراز هویت در پلاگین User Profile Builder

جزئیات آسیب‌پذیری پلاگین فورمیناتور چند روز پس از آن منتشر شد که Wordfence از یک آسیب‌پذیری بحرانی دیگر در پلاگین User Profile Builder خبر داد. این پلاگین بیش از 40 هزار نصب فعال در وردپرس دارد و آسیب‌پذیری موجود در آن می‌تواند به مهاجمان بدون احراز هویت اجازه دهد با حساب کاربری دارای شناسه 1 وارد سایت شوند؛ حسابی که معمولاً متعلق به ادمین سایت است. در نتیجه، مهاجم می‌تواند کنترل کامل مدیریتی سایت را به دست آورد.

این آسیب‌پذیری با شناسه CVE-2026-15826 و امتیاز 9.8 از 10 در سیستم امتیازدهی CVSS ثبت شده است. این آسیب‌پذیری در 16 جولای 2026 با انتشار نسخه 3.16.5 پچ شد، با این حال، تمام نسخه‌های پیش از 3.16.5 همچنان آسیب‌پذیر هستند. سوءاستفاده از آسیب‌پذیری پلاگین User Profile Builder تنها در سایت‌هایی امکان‌پذیر است که گزینه ورود خودکار در پلاگین فعال باشد.

به گفته Wordfence، این آسیب‌پذیری به نحوه پردازش مقدار بازگشتی تابع wp_insert_user() در تابع wppb_log_in_user()  مربوط می‌شود. این تابع پیش از انجام بررسی is_wp_error() ، مقدار بازگشتی wp_insert_user() را به تابع absint()  ارسال می‌کند.

اگر هنگام ثبت‌نام، نام کاربری بین 61 تا 70 کاراکتر باشد، هسته وردپرس آن را رد کرده و یک WP_Error object برمی‌گرداند. با این حال، تابع absint()  این object را پیش از انجام بررسی خطا به عدد صحیح 1 تبدیل می‌کند. در نتیجه، بررسی خطا دیگر نمی‌تواند مانع ادامه اجرای کد شود و پلاگین یک Nonce ورود خودکار (Autologin Nonce) مبتنی بر Transient ایجاد می‌کند که به حساب کاربری با شناسه 1 مرتبط است.

به این ترتیب، مهاجمان بدون احراز هویت می‌توانند با استفاده از حساب ادمین سایت، یعنی کاربر دارای شناسه 1، وارد سایت شوند و در نهایت کنترل کامل مدیریتی وب‌سایت را به دست آورند.

به‌روزرسانی فوری پلاگین‌های آسیب‌پذیر

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

نسخه‌های پچ‌شده برای هر دو پلاگین عبارتند از:

  • پلاگین فورمیناتور: نسخه 1.56.2 یا جدیدتر
  • پلاگین User Profile Builder: نسخه 3.16.5 یا جدیدتر

منابع

دیدگاهتان را بنویسید

مطالب مرتبط