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

بر اساس گزارش منتشر شده، این آسیب‌پذیری که توسط آدام کوئز از شرکت Assetnote (بخش مدیریت سطح حمله شرکت Searchlight Cyber) کشف شده، از طریق برنامه HackerOne وردپرس گزارش شده است. گزارش فنی با نام «wp2shell» تأکید می‌کند که این حمله «هیچ پیش‌شرطی ندارد و می‌تواند توسط یک کاربر ناشناس بهره‌برداری شود.»

تیم امنیتی وردپرس در تاریخ 17 ژوئیه 2026 نسخه‌های اصلاحی 6.9.5 و 7.0.2 را منتشر کرده است. این به‌روزرسانی‌ها یک آسیب‌پذیری از نوع Remote Code Execution (RCE) پیش از احراز هویت را که می‌توانست از طریق یک درخواست HTTP ساده علیه یک نصب پیش‌فرض و بدون هر گونه افزونه فعال شود، برطرف می‌کنند. دامنه نسخه‌های آسیب‌پذیر به شرح زیر است:

  • نسخه‌های 6.9.0 تا 6.9.4 (رفع شده در نسخه 6.9.5)
  • نسخه‌های 7.0.0 تا 7.0.1 (رفع شده در نسخه 7.0.2)

وردپرس همچنین اعلام کرده که این رفع در نسخه بتا 7.1 نیز اعمال شده است. لازم به ذکر است که نسخه 6.8 نیز به‌روزرسانی 6.8.6 را دریافت کرده، اما این به‌روزرسانی مربوط به یک آسیب‌پذیری دیگر (تزریق SQL) است که توسط یک تیم جداگانه گزارش شده است.

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

ماهیت فنی آسیب‌پذیری

در پست انتشار به‌روزرسانی، وردپرس این یافته را به عنوان «یک مشکل سردرگمی مسیر دسته‌ای (batch-route confusion) در REST API همراه با یک مشکل تزریق SQL که منجر به اجرای کد از راه دور می‌شود» توصیف کرده است. این انتشار شامل یک آسیب‌پذیری بحرانی و یک آسیب‌پذیری با شدت بالا بوده، اما مشخص نکرده که کدام یک از این دو، بحرانی است.

فایل‌هایی که در نسخه 7.0.2 اصلاح شده‌اند عبارتند از:

  • /wp-includes/rest-api/class-wp-rest-server.php
  • /wp-includes/class-wp-query.php
  • /wp-includes/rest-api.php

نکته جالب اینجاست که نقطه پایان دسته‌ای (batch endpoint) از نسخه 5.6 (نوامبر 2020) در وردپرس وجود داشته و مستندات عمومی آن نیز موجود است. آنچه که مشخص نیست این است که چه تغییری در نسخه 6.9 باعث باز شدن این راه نفوذ شده است.

عدم وجود CVE و چالش ردیابی

تا تاریخ 18 ژوئیه، هیچ شناسه CVE یا امتیاز CVSS برای این آسیب‌پذیری صادر نشده است. این بدان معناست که اسکنرهای خودکار مبتنی بر CVE قادر به تشخیص این تهدید نیستند. همچنین سازمان CISA برای افزودن آسیب‌پذیری به کاتالوگ KEV خود نیاز به یک CVE دارد. بنابراین، ردیابی این تهدید باید از طریق شماره نسخه انجام شود.

راه‌های کاهش خطر پیش از به‌روزرسانی

اگر قادر به به‌روزرسانی فوری نیستید، شرکت Searchlight سه راهکار موقت ارائه کرده است. تمام این راهکارها بر دور نگه داشتن کاربران ناشناس از نقطه پایان دسته‌ای متمرکز هستند:

  1. مسدودسازی در WAF: هر دو مسیر /wp-json/batch/v1 و پارامتر rest_route=/batch/v1 را در فایروال برنامه وب (WAF) مسدود کنید. مسدود کردن تنها یکی از این مسیرها کافی نیست.
  2. غیرفعال کردن کامل REST API: این کار دسترسی تأیید نشده به تمام نقاط پایان REST API را قطع می‌کند.
  3. استفاده از افزونه موقت: یک افزونه کوچک که درخواست‌های ناشناس به /batch/v1 را در هوک rest_pre_dispatch رد می‌کند.

توجه داشته باشید که این راهکارها موقتی هستند و ممکن است عملکرد افزونه‌های قانونی را مختل کنند.

وضعیت فعلی تهدید

تا 18 ژوئیه، هیچ تلاش موفق بهره‌برداری از این آسیب‌پذیری در فضای عمومی گزارش نشده است. با این حال، با توجه به بحرانی بودن مسئله و عدم وجود CVE، بسیاری از ابزارهای امنیتی هنوز قادر به شناسایی حملات هدفمند نیستند.

حملات انبوه به وردپرس به یک صنعت تبدیل شده است. به عنوان مثال، یک تیم هکری به نام WP-SHELLSTORM توانست با سوءاستفاده از یک آسیب‌پذیری عمومی در یک افزونه ذخیره‌سازی، به بیش از 17,000 سایت نفوذ کند. این نشان می‌دهد که به‌روزرسانی به موقع و مدیریت صحیح امنیتی چقدر ضروری است.

سرویس‌های امنیتی مانند Assetnote نیز ابزاری رایگان برای بررسی آسیب‌پذیری وب‌سایت شما ارائه کرده‌اند (wp2shell.com). توصیه می‌شود هرچه سریع‌تر نسبت به به‌روزرسانی وردپرس خود به آخرین نسخه موجود اقدام کنید.