بررسی جامع آسیب پذیری wp2shell در هسته WordPress و آموزش رفع آن
امنیت در فضای وب همواره یکی از دغدغههای اصلی مدیران سایتها بوده است. اخیراً جامعه کاربری وبسایتها با یک شوک بزرگ امنیتی روبرو شد: کشف آسیب پذیری wp2shell در هسته اصلی (Core) سیستم مدیریت محتوای WordPress. این نقص امنیتی که با نمره CVSS 9.8 در دسته Critical (بحرانی) قرار گرفته است، به مهاجمان اجازه میدهد تا بدون نیاز به لاگین کردن، کدهای مخرب خود را روی سرور اجرا کنند.
در این مقاله، قصد داریم با نگاهی عمیق و فنی، بررسی کنیم که آسیب پذیری wp2shell دقیقاً چیست، چگونه کار میکند و مهمتر از همه، چگونه میتوانید وبسایت خود را در برابر این حمله ایمن کنید.
توجه داشته باشید که این باگ در نسخههای خام وردپرس نیز عمل میکند و ارتباطی به افزونههای جانبی ندارد.
آسیب پذیری wp2shell چیست؟
آسیب پذیری wp2shell نامی است که به یک زنجیره حملات (Exploit Chain) متشکل از دو باگ امنیتی در هسته WordPress داده شده است. این نقص اولین بار در جولای 2026 توسط پژوهشگری به نام Adam Kues از تیم Assetnote و Searchlight Cyber کشف و گزارش شد.
این حمله از نوع Pre-Authentication Remote Code Execution یا به اختصار RCE است. معنای Pre-Authentication این است که هکر نیازی به هیچگونه نام کاربری، رمز عبور یا سطح دسترسی در سایت شما ندارد. او تنها با ارسال یک درخواست HTTP ناشناس به سرور شما میتواند سایت را به طور کامل در دست بگیرد.
دو شناسه CVE برای آسیب پذیری wp2shell ثبت شده است که با ترکیب یکدیگر فاجعه میآفرینند:
- CVE-2026-63030: یک باگ Batch-Route Confusion در بستر REST API.
- CVE-2026-60137: یک باگ SQL Injection در کلاس
WP_Queryو پارامترauthor__not_in.
تحلیل فنی و مکانیزم عملکرد آسیب پذیری wp2shell
برای درک بهتر آسیب پذیری wp2shell، باید به ساختار REST API در WordPress نگاهی بیندازیم. وردپرس دارای یک Endpoint پیشفرض به آدرس /wp-json/batch/v1 است که برای پردازش دستهای درخواستها استفاده میشود. این Endpoint به صورت پیشفرض فعال است و نیازی به Authentication ندارد.
هکر با استفاده از باگ اول (CVE-2026-63030)، یک Payload فرمتبندی شده JSON را به صورت POST به این Endpoint ارسال میکند. در حالت عادی، سیستم این درخواستها را اعتبارسنجی میکند، اما به دلیل نقص Route Confusion، هکر میتواند درخواست خود را مستقیماً به توابع داخلی وردپرس هدایت کند.
در مرحله بعد، هکر پارامتر author__not_in را در کلاس WP_Query هدف قرار میدهد. تابع WP_Query انتظار دارد که این پارامتر یک ساختار Array باشد، اما مهاجم به جای Array، یک String حاوی کدهای مخرب SQL را به آن پاس میدهد. از آنجایی که اعتبارسنجی نوع داده به درستی انجام نمیشود، این String مستقیماً وارد دیتابیس شده و یک SQL Injection ایجاد میکند.
با ترکیب این SQL Injection و REST API، مهاجم موفق میشود محدودیتها را دور زده و یک Remote Code Execution موفق را رقم بزند که نتیجه آن تسلط کامل بر روی سرور و دیتابیس است. در این سناریو از آنجایی که درخواست کاملاً مشابه ترافیک استاندارد REST به نظر میرسد، شناسایی آن برای فایروالهای معمولی دشوار است.
نسخههای تحت تاثیر آسیب پذیری wp2shell
برخلاف بسیاری از باگها که ناشی از نصب یک Plugin خاص هستند، آسیب پذیری wp2shell مستقیماً درون خود WordPress Core قرار دارد و سایتها را در حالت Default Threatening قرار میدهد. نسخههای زیر مستقیماً تحت تاثیر این آسیبپذیری هستند:
- نسخه 6.9.0 تا 6.9.4 (شامل هر دو باگ و مستعد RCE)
- نسخه 7.0.0 تا 7.0.1 (شامل هر دو باگ و مستعد RCE)
نکته: نسخههای 6.8.0 تا 6.8.5 تنها به بخش SQL Injection آسیبپذیر هستند و RCE کامل روی آنها جواب نمیدهد که البته این مشکل در نسخه 6.8.6 برطرف شده است.
اهمیت زیرساخت سخت افزاری و وبسرورها در مقابله با آسیب پذیری wp2shell
امنیت نرمافزاری تنها نیمی از معادله است. معماری زیرساخت شما و سروری که دیتاسنتر برای میزبانی وبسایتهای وردپرسی در نظر گرفته است، تاثیر مستقیمی بر روی کاهش شعاع تخریب (Blast Radius) دارد.
تصور کنید شما هاستینگ خود را بر روی یک ماشین قدرتمند مانند سرور HP DL380 G9 بنا کردهاید و صدها کانتینر WordPress را روی این سختافزار میزبانی میکنید. قدرت پردازشی بالای سرور HP DL380 G9 به شما اجازه میدهد تا لایههای امنیتی پیچیده نظیر WAF (Web Application Firewall) سختافزاری، سیستمهای Reverse Proxy پیشرفته و سیستمعاملهای ایزوله (Tenant Isolation) را بدون افت پرفورمنس پیادهسازی کنید.
در صورتی که یکی از کانتینرها به دلیل آسیب پذیری wp2shell آلوده شود، ساختار ایزوله سرور و فایروالهای تنظیم شده، از گسترش دسترسی هکر (Lateral Movement) به سایر سایتهای روی همان سرور جلوگیری میکنند. استفاده از تجهیزات سازمانی قدرتمند به شما زمان کافی برای پچ کردن شبکههای بزرگ را میدهد.
روشهای مقابله و رفع کامل آسیب پذیری wp2shell
تیم توسعهدهنده به محض اطلاع از شدت این باگ، در تاریخ 17 جولای 2026 آپدیتهای امنیتی (Forced Updates) را منتشر کرد. برای ایمنسازی سایت خود در برابر آسیب پذیری wp2shell مراحل زیر را فوراً انجام دهید:
۱. بهروزرسانی فوری WordPress Core (راهکار اصلی)
بهترین و قطعیترین راهکار، آپدیت کردن هسته وردپرس است.
- اگر در شاخه 6.9 هستید، باید سیستم را به نسخه 6.9.5 ارتقا دهید.
- اگر در شاخه 7.0 هستید، حتماً به نسخه 7.0.2 آپدیت کنید.
۲. مسدودسازی از طریق WAF (راهکار موقت)
اگر بنا به دلایلی (مثلاً تداخل قالب یا افزونههای اختصاصی) نمیتوانید فوراً سیستم مدیریت محتوای خود را آپدیت کنید، باید درخواستهای HTTP مخرب را در لایه WAF مسدود کنید. تمامی درخواستهای POST که به آدرسهای زیر ارسال میشوند را موقتاً بلاک کنید:
/wp-json/batch/v1?rest_route=/batch/v1
۳. فعالسازی Persistent Object Cache
یکی از نکات جالب و کلیدی درباره آسیب پذیری wp2shell این است که بر روی سایتهایی که از Persistent Object Cache (مانند سیستمهای Redis یا Memcached) استفاده میکنند، عمل نمیکند. دلیل این امر این است که مکانیزم کشینگِ آبجکتها، مسیر اجرای کدهای مخرب در REST API را پیش از رسیدن به هسته پردازشی مختل میکند. با کانفیگ کردن Redis روی سرور خود، یک لایه دفاعی پسیو برای سایت ایجاد میکنید.
نتیجهگیری درباره آسیب پذیری wp2shell
کشف آسیب پذیری wp2shell بار دیگر ثابت کرد که حتی سیستمهای بالغ و متنبازی مانند WordPress Core نیز میتوانند حاوی باگهای پنهان با درجه بحرانی باشند. کشف یک نقص Pre-Authentication RCE در نصبهای پیشفرض، زنگ خطری جدی برای تمامی وبمسترها است.
در دنیای امنیت، زمان طلایی برای مقابله با چنین حملاتی پیش از انتشار گسترده کدهای مخرب و Proof of Concept یا PoC در فضای اینترنت است. به عنوان یک مدیر سایت، همیشه مطمئن شوید که آپدیتهای امنیتی و هسته سایت را در سریعترین زمان ممکن اعمال میکنید، لاگهای سرور را به شکل مستمر مانیتور کرده و سیستمهای WAF خود را بهینهسازی نمایید. با رفع سریع آسیب پذیری wp2shell، امنیت اطلاعات کاربران، دیتابیسها و اعتبار تجارت آنلاین خود را در برابر نفوذهای احتمالی تضمین کنید.














