رفع آسیب‌پذیری wp2shell در وردپرس
مقالات تخصصی IT و هاستینگ

آسیب‌پذیری wp2shell در وردپرس | اجرای کد بدون نیاز به ورود

بررسی‌های اخیر نشان می‌دهد که یک درخواست HTTP ناشناس می‌تواند به اجرای کد از راه دور روی یک وب‌سایت وردپرسی منجر شود. از آنجا که این نقص در هسته WordPress قرار دارد، حتی یک نصب خام و بدون هیچ افزونه یا قالب نیز در برابر آن آسیب‌پذیر است. بخش نخست این زنجیره حمله توسط Adam Kues، پژوهشگر تیم Assetnote (وابسته به Searchlight Cyber) کشف و از طریق برنامه افشای آسیب‌پذیری HackerOne به WordPress گزارش شد. این پژوهشگر در گزارش فنی خود با عنوان "آسیب‌پذیری wp2shell در وردپرس" تأکید می‌کند که حمله فوق «هیچ پیش‌شرطی ندارد و توسط یک کاربر ناشناس قابل بهره‌برداری است».

بررسی فنی آسیب‌پذیری wp2shell در وردپرس

تصویر(1)

دو آسیب‌پذیری تشکیل‌دهنده‌ زنجیره‌ حمله

آسیب‌پذیری wp2shell در وردپرس از ترکیب دو آسیب‌پذیری مجزا شکل گرفته که هرکدام اکنون شناسه‌ CVE مستقل دارند:

شناسه CVE

نوع آسیب‌پذیری

امتیاز CVSS

سطح رسمی هشدار وردپرس

CVE-2026-63030

اختلال در مسیریابی
درخواست‌های دسته‌ای REST API

7.5
(High)

Critical

CVE-2026-60137

تزریق SQL در پارامتر
author__not_in هسته

9.1
(Critical)

جدول(1)

نکته‌ مهم: ترکیب این دو نقص، یک درخواست ناشناس را تا مرحله‌ اجرای کد پیش می‌برد؛ البته هرکدام به‌تنهایی، این سطح از خطر را ایجاد نمی‌کنند.

تمام وب‌سایت‌های وردپرسی مبتنی بر نسخه‌های 6.9 و 7.0، در معرض خطر قرار دارند که به همین دلیل WordPress نسخه‌های 6.9.5 و 7.0.2 را منتشر نموده و قابلیتی را که «بروزرسانی اجباری» می‌نامد، از طریق سامانه بروزرسانی خودکار فعال کرده است. بر اساس گزارش Searchlight، بیش از ۵۰۰ میلیون سایت از وردپرس استفاده می‌کنند که همین موضوع نیز، اهمیت بررسی این آسیب پذیری را نشان می دهد. Searchlight هنوز گزارش فنی اختصاصی خود را منتشر نکرده و مدیران وب‌سایت‌ها را به ابزار بررسی موجود در wp2shell.com ارجاع داده است. با این‌ حال، خودداری از انتشار جزئیات، تأثیر چندانی ندارد؛ زیرا آپدیت امنیتی به‌صورت عمومی منتشر شده و پژوهشگران دیگری، آن را بررسی و تحلیل کرده‌اند.

بررسی آسیب‌پذیری wp2shell در وردپرس

این دو آسیب‌پذیری wp2shell در وردپرس دامنه تأثیر یکسانی ندارند و تفاوت در نسخه‌های بیان شده، صرفا محدوده واقعی خطر را مشخص می‌کند. آسیب‌پذیری تزریق SQL از نسخه‌ 6.8 به بعد وجود دارد، در حالی که نقص موجود در (Batch Path) که این آسیب‌پذیری را به اجرای کد از راه دور (RCE) بدون احراز هویت ارتقا می‌دهد، تنها از نسخه‌ 6.9 به بعد معرفی شده است.

راهکار مقابله با آسیب‌پذیری wp2shell در وردپرس

تصویر(2)

بنابراین، محدوده نسخه‌های آسیب‌پذیر به شکل زیر تقسیم بندی می‌شوند:

  • نسخه‌های 6.8.0 تا 6.8.5: فقط آسیب‌پذیری تزریق SQL؛ برطرف‌شده در نسخه 6.8.6
  • نسخه‌های 6.9.0 تا 6.9.4: زنجیره کامل اجرای کد از راه دور؛ برطرف‌شده در نسخه 6.9.5
  • نسخه‌های 7.0.0 تا 7.0.1: زنجیره کامل اجرای کد از راه دور؛ برطرف‌شده در نسخه 7.0.2

نسخه آزمایشی 7.1 beta2 هر دو اصلاح امنیتی را در بر دارد. یک وب‌سایت مبتنی بر نسخه 6.8، از طریق این زنجیره در برابر اجرای کد از راه دور آسیب‌پذیر نیست. به همین دلیل، نسخه 6.8.6 فقط آسیب‌پذیری تزریق SQL را برطرف می‌کند.
WordPress هنوز اعلام نکرده است که آیا انتشار اجباری این آپدیت ها، وب‌سایت‌هایی را که "بروزرسانی خودکار" را غیرفعال کرده‌اند نیز شامل می‌شود یا خیر. بنابراین، نیاز است نسخه‌ای که هر وب‌سایت در حال حاضر اجرا می‌کند، به‌صورت مستقیم بررسی شود.

برای بروز رسانی وردپرس از آموزش زیر استفاده کنید:

آموزش آپدیت دستی وردپرس و افزونه ها

بررسی نقص اول:

این زنجیره حمله داخل آسیب‌پذیری wp2shell در وردپرس از ترکیب دو نقص مستقل شکل می‌گیرد. نخستین نقص، آسیب‌پذیری تزریق SQL در پارامتر author__not_in متعلق به WP_Query است. این پارامتر باید یک آرایه دریافت کند، اما اگر به‌جای آرایه یک رشته به آن ارسال شود، بررسی نوع داده انجام نمی‌شود و مقدار ورودی بدون پردازش مستقیماً در کوئری پایگاه داده قرار می‌گیرد.

بررسی نقص دوم:

نقص دوم به نقطه پایانی پردازش گروهی (Batch Endpoint) (wp-json/batch/v1/) مربوط می‌شود که از نسخه 5.6 در سال ۲۰۲۰ به WordPress اضافه شده است. این endpoint چندین درخواست فرعی را در قالب یک درخواست واحد اجرا می‌کند و اطلاعات آن‌ها را در دو آرایه موازی نگه می‌دارد. اگر یکی از درخواست‌های فرعی با خطا مواجه شود، این دو آرایه از حالت همگام خارج می‌شوند. در نتیجه، ممکن است یک درخواست با handler مربوط به درخواست دیگری پردازش شود. مهاجم با تو‌در‌تو کردن درخواست‌ها می‌تواند از این ناهماهنگی سوءاستفاده کرده، محدودیت فهرست endpointهای مجاز را دور بزند و در نهایت ورودی خود را بدون نیاز به احراز هویت به کوئری آسیب‌پذیر هدایت کند.

هرچند endpoint دسته‌ای از نسخه 5.6 در WordPress وجود داشته است، اما نقصی که این رفتار را به یک مسیر قابل سوءاستفاده تبدیل می‌کند، تنها در نسخه 6.9 معرفی شده است. به همین دلیل، زنجیره کامل اجرای کد از راه دور فقط نسخه‌های 6.9 و جدیدتر را تحت تأثیر قرار می‌دهد.

بررسی فنی آسیب‌پذیری wp2shell در وردپرس

تصویر(3)

لازم به ذکر است که تیم امنیتی میهن وب هاست به‌صورت ۲۴ ساعته آسیب‌پذیری‌های امنیتی را پایش و رصد می‌کند و در صورت شناسایی هرگونه نقص یا تهدید، با بررسی و همفکری تیم فنی، در کوتاه‌ترین زمان اقدامات پیشگیرانه و اصلاحی لازم را انجام می‌دهد. از همین رو، با بهره‌گیری از چندین لایه امنیتی، از جمله فایروال‌های پیشرفته، آنتی‌ویروس، سامانه‌های ضدبدافزار و سایر راهکارهای حفاظتی، تا ۹۹٪ احتمال سوءاستفاده از این آسیب‌پذیری کاهش یافته و سرویس‌های میزبانی کاربران در برابر این تهدید به‌طور مستمر محافظت می‌شوند.

جمع بندی:

امتیازدهی امنیتی به آسیب‌پذیری wp2shell در وردپرس نیز نکته قابل‌توجهی دارد. WordPress زنجیره اجرای کد از راه دور را در هشدار امنیتی خود با سطح Critical معرفی کرده است، اما رکورد CVE برای همان زنجیره امتیاز 7.5 و سطح High را نشان می‌دهد. دلیل این اختلاف آن است که در محاسبه امتیاز CVSS، تنها تأثیر بر محرمانگی اطلاعات لحاظ شده و کاهش یکپارچگی یا دسترس‌پذیری سیستم که معمولاً از اجرای کد از راه دور انتظار می‌رود، در نظر گرفته نشده است. در مقابل، آسیب‌پذیری تزریق SQL به‌تنهایی امتیاز 9.1 و سطح Critical دریافت کرده است.

در نتیجه تصمیم‌گیری امنیتی نباید فقط بر اساس برچسب شدت یکی از این دو CVE انجام شود؛ هر دو باید هم‌زمان پیگیری شوند.

اشتراک گذاری:

نظرات

ممنون که موضوع رو در این سطح، فنی و دقیق بررسی کردید.

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

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