بهروزرسانی امنیتی وردپرس ۷.۰.۳ منتشر شد؛ ۱۲ آسیبپذیری و یک نقص بحرانی

در ششم اوت ۲۰۲۶ تیم امنیتی وردپرس نسخه ۷.۰.۳ را منتشر کرد و همراه آن فهرستی از دوازده آسیبپذیری اصلاحشده را بیرون داد. یکی از این دوازده مورد با بقیه فرق دارد. آسیبپذیری با شناسه CVE-2026-64638 در صفحه ورود وردپرس قرار دارد، برای بهرهبرداری از آن نه به حساب کاربری نیاز است و نه به نشست فعال، و در شرایط مشخصی میتواند به اجرای کد PHP روی سرور برسد. برای سایتی که روی وردپرس ساخته شده، این یعنی فاصله میان یک لینک آلوده و از دست رفتن کامل سایت کوتاهتر از چیزی است که بیشتر مدیران تصور میکنند.
این نوشته توضیح میدهد که دقیقا چه چیزی اصلاح شده، چرا این مورد خاص جدیتر از بقیه است، و مدیر یک سایت ایرانی امروز باید چه کارهایی را به ترتیب انجام دهد.
در نسخه ۷.۰.۳ چه چیزی اصلاح شد
انتشار ۷.۰.۳ یک انتشار امنیتی است، نه یک نسخه با قابلیت تازه. یعنی هدف آن فقط بستن نقصهای کشفشده بوده و انتظار نمیرود ظاهر یا رفتار پیشخوان شما تغییر کند. مجموع اصلاحات دوازده مورد است که گسترهای از اسکریپتنویسی میانسایتی تا افشای اطلاعات، ارتقای سطح دسترسی، تزریق CSS، دور زدن تایید ایمیل و جعل درخواست سمت سرور را پوشش میدهد.
بخش عمده این موارد نیازمند سطحی از دسترسی هستند. یعنی مهاجم باید دستکم نقش نویسنده یا مشارکتکننده داشته باشد تا بتواند از آنها استفاده کند. برای سایتی که فقط یک مدیر دارد و ثبتنام عمومی روی آن بسته است، این دسته خطر عملی کمتری دارند. اما یک مورد از این قاعده خارج است و همان مورد است که باعث شد این انتشار در رسانههای امنیتی بازتاب گسترده پیدا کند.
آسیبپذیری CVE-2026-64638 چگونه کار میکند
این نقص یک اسکریپتنویسی میانسایتی از نوع بازتابی است که در رابط ورود وردپرس، یعنی همان فایل wp-login.php، قرار دارد. نکته تعیینکننده در توصیف آن این است که بهرهبرداری از آن نه به احراز هویت نیاز دارد و نه به نشست از پیش موجود.
سازوکار در عمل ساده است. مهاجم نشانی دستکاریشدهای میسازد که به صفحه ورود سایت شما اشاره میکند. سپس کاری میکند که قربانی آن نشانی را باز کند؛ از طریق ایمیل، پیام در شبکههای اجتماعی، یا صفحهای که خودش کنترل میکند. به محض باز شدن آن نشانی، کد جاوااسکریپت دلخواه مهاجم در مرورگر قربانی و در بستر دامنه سایت شما اجرا میشود.
تا اینجا ماجرا شبیه بسیاری از آسیبپذیریهای XSS به نظر میرسد. چیزی که این مورد را جدی میکند مرحله بعدی است.
چرا یک نقص XSS به اجرای کد روی سرور میرسد
وردپرس به مدیران اجازه میدهد از داخل پیشخوان فایلهای افزونه و قالب را ویرایش کنند، افزونه نصب کنند و تنظیمات حساس را تغییر دهند. همه این کارها از طریق درخواستهایی انجام میشود که مرورگر مدیر میفرستد.
حالا فرض کنید کدی که مهاجم تزریق کرده، در مرورگر کسی اجرا شود که همان لحظه با نقش مدیر وارد سایت شده است. آن کد دیگر یک اسکریپت بیاثر نیست. میتواند از طرف مدیر درخواست بفرستد، یک افزونه آلوده نصب کند یا فایلی را ویرایش کند که PHP روی سرور اجرا میشود. گزارشهای منتشرشده دقیقا همین زنجیره را توصیف میکنند: نقص میتواند زمانی به اجرای کد PHP روی سرور تبدیل شود که یک مدیر واردشده با صفحهای تحت کنترل مهاجم تعامل کند.
پس شرط لازم برای بدترین سناریو، تعامل مدیر است. این خبر خوبی نیست، چون فریب دادن یک مدیر برای باز کردن یک لینک، کاری است که سالهاست با موفقیت انجام میشود.
تفاوت میان XSS بازتابی و ذخیرهشده
در فهرست این دور اصلاحیه هر دو نوع اسکریپتنویسی میانسایتی دیده میشود و تفاوت آنها در ارزیابی خطر تعیینکننده است.
در نوع ذخیرهشده، کد مخرب در پایگاه داده سایت مینشیند. مهاجم آن را یک بار از طریق فرم دیدگاه، عنوان نوشته یا هر ورودی دیگری وارد میکند و از آن پس، هر بازدیدکنندهای که آن صفحه را باز کند کد را اجرا میکند. دامنه اثر بزرگ است، اما برای وارد کردن آن کد معمولا به سطحی از دسترسی نیاز است. به همین دلیل است که در جدول بالا برای بیشتر این موارد نقش مشارکتکننده یا بالاتر ذکر شده است.
در نوع بازتابی، کد در پایگاه داده ذخیره نمیشود. مهاجم آن را داخل خود نشانی قرار میدهد و سرور همان مقدار را در پاسخ بازمیگرداند. دامنه اثر محدودتر است، چون فقط کسی که آن نشانی مشخص را باز کند تحت تاثیر قرار میگیرد. در عوض هیچ دسترسی اولیهای لازم نیست و همین است که مورد CVE-2026-64638 را از بقیه جدا میکند.
وقتی این دو ویژگی را کنار هم میگذارید، تصویر روشن میشود: مهاجم به هیچ حسابی در سایت شما نیاز ندارد و تنها چیزی که لازم دارد یک مدیر است که روی لینک کلیک کند.
فهرست کامل دوازده مورد اصلاحشده
جدول زیر دوازده آسیبپذیری اصلاحشده در نسخه ۷.۰.۳ را به همراه نوع و سطح دسترسی لازم برای هرکدام نشان میدهد.
| مورد | نوع آسیبپذیری | دسترسی لازم برای مهاجم |
|---|---|---|
| CVE-2026-64638 | XSS بازتابی در صفحه ورود، با امکان رسیدن به اجرای کد PHP | بدون احراز هویت |
| ۲ | XSS ذخیرهشده در تنظیمات ایموجی | مشارکتکننده و بالاتر |
| ۳ | XSS ذخیرهشده در بلوک محتوای نوشته | مشارکتکننده و بالاتر |
| ۴ | XSS ذخیرهشده در ویرایش سریع | مشارکتکننده و بالاتر |
| ۵ | XSS ذخیرهشده در بلوک تاریخ نوشته | مشارکتکننده و بالاتر |
| ۶ | ارتقای سطح دسترسی در حالت چندسایتی | فقط نصبهای Multisite |
| ۷ | افشای دیدگاههای نوشتههای محافظتشده | افشای اطلاعات |
| ۸ | امکان شمارش نامک نوشتهها | افشای اطلاعات |
| ۹ | افشای خوراک دیدگاههای خصوصی | افشای اطلاعات |
| ۱۰ | تزریق CSS با دور زدن محدودیت نقش نویسنده | نویسنده و بالاتر |
| ۱۱ | دور زدن فرایند تایید ایمیل | بسته به پیکربندی |
| ۱۲ | جعل درخواست سمت سرور | بسته به پیکربندی |
نکتهای که در این فهرست کمتر به آن توجه میشود، تنوع گزارشدهندگان است. این موارد را پژوهشگران مستقل، تیمهای امنیتی شرکتی و آزمایشگاههای تخصصی گزارش کردهاند. یعنی هسته وردپرس همچنان زیر نگاه دقیق جامعه امنیتی قرار دارد و همین است که باعث میشود نقصها پیش از بهرهبرداری گسترده کشف شوند.
چه نسخهای دارید و به چه نسخهای باید بروید
وردپرس برای هر شاخه پشتیبانیشده یک نسخه اصلاحی جداگانه منتشر کرده است. لازم نیست حتما به آخرین شاخه مهاجرت کنید؛ کافی است در شاخه خودتان به نسخه اصلاحشده برسید.
| نسخه فعلی شما | نسخه مقصد | توضیح |
|---|---|---|
| شاخه ۷.۰ | ۷.۰.۳ | جدیدترین شاخه، توصیهشده برای سایتهای تازه |
| شاخه ۶.۹ | ۶.۹.۶ | برای سایتهایی که هنوز به شاخه ۷ مهاجرت نکردهاند |
| شاخه ۶.۸ | ۶.۸.۷ | قدیمیترین شاخهای که در این دور اصلاحیه گرفت |
اگر نسخه شما قدیمیتر از شاخه ۶.۸ است، وضعیت شما فراتر از این یک آسیبپذیری است. در آن حالت سایت شما احتمالا ماههاست که اصلاحیههای امنیتی دریافت نکرده و بهروزرسانی مرحلهبهمرحله همراه با پشتیبانگیری کامل ضروری است.
زمینه ماجرا؛ پرونده wp2shell در تیر و مرداد
این انتشار در خلا رخ نداده است. کمتر از یک ماه پیش از آن، دو آسیبپذیری بحرانی دیگر با شناسههای CVE-2026-63030 و CVE-2026-60137 که مجموعا با نام wp2shell شناخته میشوند، در حال بهرهبرداری فعال بودند. ترکیب این دو نقص اجازه میداد مهاجم بدون احراز هویت کد از راه دور اجرا کند و کنترل کامل سایت آسیبپذیر را به دست بگیرد.
آنچه آن پرونده را تشدید کرد، انتشار عمومی کد اثبات مفهوم بود. به محض اینکه چنین کدی در دسترس عموم قرار میگیرد، موج اسکن خودکار روی کل اینترنت شروع میشود. مهاجمان دیگر سایت خاصی را هدف نمیگیرند؛ کل فضای نشانیها را جاروب میکنند و هر سایتی که وصله نشده باشد در همان موج اول پیدا میشود.
درس عملی این تجربه ساده است. فاصله میان انتشار اصلاحیه و شروع بهرهبرداری انبوه، معمولا در حد چند روز است. سایتی که یک هفته بعد از انتشار وصله بهروزرسانی میشود، یک هفته کامل در معرض بوده است.
چطور بفهمید سایت شما هنوز آسیبپذیر است
سادهترین راه، مراجعه به پیشخوان و مسیر «بهروزرسانیها» است. شماره نسخه هسته در همان صفحه و همچنین در بخش «سلامت سایت» نمایش داده میشود. اگر نسخه شما یکی از سه نسخه اصلاحشده در جدول بالا نیست، سایت شما وصله نشده است.
اگر به هر دلیل به پیشخوان دسترسی ندارید، فایل wp-includes/version.php روی هاست شما مقدار نسخه را در متغیر $wp_version نگه میدارد. توجه داشته باشید که برخی افزونههای امنیتی این مقدار را در خروجی عمومی سایت پنهان میکنند، اما فایل روی سرور همچنان مقدار واقعی را دارد.
مراحل بهروزرسانی امن
ترتیب کارها اهمیت دارد. توصیه میشود این مراحل را به همین ترتیب انجام دهید.
ابتدا از پایگاه داده و فایلهای سایت یک پشتیبان کامل بگیرید و آن را جایی خارج از خود سرور نگه دارید. پشتیبانی که روی همان هاست ذخیره شده، در سناریوی نفوذ ارزش چندانی ندارد. سپس اگر امکانش را دارید، بهروزرسانی را ابتدا روی یک نسخه آزمایشی اجرا کنید. برای بیشتر سایتهای کوچک این مرحله عملی نیست و میتوان از آن گذشت، به شرط آنکه پشتیبان معتبری در دست باشد.
در گام بعد هسته وردپرس را بهروزرسانی کنید و بلافاصله بعد از آن سراغ افزونهها و قالب بروید. در پایان، صفحه اصلی، صفحه ورود، فرمها و در صورت وجود، فرایند خرید را یک بار به صورت دستی آزمایش کنید.
اگر بهروزرسانی خودکار را خاموش کردهاید
بسیاری از سایتهای ایرانی بهروزرسانی خودکار را عمدا غیرفعال میکنند، چون یک بار بهروزرسانی ناخواسته چیزی را در سایتشان شکسته است. این تصمیم قابل درک است اما هزینه دارد و هزینهاش دقیقا در همین موقعیتها ظاهر میشود.
راه میانه این است که بهروزرسانی خودکار را فقط برای انتشارهای امنیتی هسته فعال نگه دارید و برای نسخههای اصلی و افزونهها دستی عمل کنید. انتشارهای امنیتی هسته وردپرس معمولا دامنه تغییر بسیار محدودی دارند و احتمال شکستن سایت با آنها به مراتب کمتر از یک بهروزرسانی افزونه است.
نشانههای نفوذ؛ چه چیزی را باید بررسی کنید
اگر تردید دارید که سایت پیش از وصله شدن مورد سو استفاده قرار گرفته باشد، چند نقطه ارزش بررسی دارند. فهرست کاربران را باز کنید و ببینید حساب مدیری که نمیشناسید وجود دارد یا نه. تاریخ آخرین تغییر فایلها را در پوشههای افزونه و قالب بررسی کنید؛ فایلی که تاریخ تغییرش با بقیه همخوانی ندارد ارزش نگاه دقیقتر دارد.
همچنین فهرست افزونههای نصبشده را مرور کنید. افزونهای که خودتان نصب نکردهاید، بهویژه اگر نام آن شبیه افزونههای شناختهشده باشد، نشانه روشنی است. در نهایت وظایف زمانبندیشده وردپرس را بررسی کنید، چون مهاجمان اغلب برای بازگشت مجدد از همین سازوکار استفاده میکنند.
اگر هرکدام از این نشانهها را دیدید، صرف بهروزرسانی کافی نیست. در آن حالت باید گذرواژه همه حسابهای مدیر و دسترسی هاست را تغییر دهید و ترجیحا سایت را از یک پشتیبان سالم پیش از تاریخ نفوذ بازگردانی کنید.
افزونهها و قالبها؛ حلقه ضعیف واقعی
باید یک نکته را صادقانه گفت. هسته وردپرس یکی از دقیقترین فرایندهای بازبینی امنیتی را در میان پروژههای متنباز دارد و آسیبپذیریهای آن معمولا پیش از بهرهبرداری گسترده کشف و اصلاح میشوند. بخش عمده نفوذهایی که در عمل اتفاق میافتد از مسیر هسته نیست.
منشا واقعی بیشتر حادثهها، افزونهها و قالبهای نالشده است. قالبی که از یک منبع نامشخص دانلود شده، تقریبا همیشه کدی برای دسترسی بعدی در خود دارد. این موضوع در فضای وب ایران اهمیت مضاعفی دارد، چون محدودیتهای پرداخت بینالمللی بسیاری از سایتها را به سمت نسخههای غیررسمی سوق داده است. تهیه لایسنس معتبر برای افزونههای کلیدی، پیش از آنکه یک هزینه باشد، یک تصمیم امنیتی است. اگر سایت شما با المنتور ساخته شده، میتوانید اشتراک المنتور پرو را از مسیر رسمی تهیه کنید و بهروزرسانیهای امنیتی آن را مستقیم دریافت کنید.
نکتهای درباره صفحهسازها
سایتهایی که با صفحهساز ساخته میشوند، لایه بیشتری از کد دارند و طبیعتا سطح حمله بزرگتری هم دارند. این به معنای ناامن بودن صفحهسازها نیست، اما یک تعهد اضافه ایجاد میکند: افزونه صفحهساز باید همیشه بهروز باشد.
در عمل دیده میشود که مدیران سایت هسته وردپرس را بهروز نگه میدارند اما افزونه اصلی صفحهساز را ماهها دست نخورده رها میکنند، چون نگران به هم ریختن طراحی هستند. اگر با این نگرانی روبهرو هستید، راهنمای نصب و فعالسازی المنتور پرو فرایند درست نصب و بهروزرسانی را گامبهگام توضیح داده است.
فایروال و CDN چه کاری انجام میدهند و چه کاری نمیکنند
بیشتر سایتهای ایرانی امروز پشت یک شبکه توزیع محتوا قرار دارند و بسیاری از آنها فایروال کاربردی وب را هم فعال کردهاند. این لایهها ارزش واقعی دارند، اما انتظار نادرست از آنها یکی از دلایل رایج غافلگیر شدن مدیران سایت است.
فایروال کاربردی وب بر اساس الگو کار میکند. اگر درخواستی شبیه الگوهای شناختهشده حمله باشد، مسدود میشود. برای آسیبپذیریهایی که تازه منتشر شدهاند، این الگو ممکن است هنوز تعریف نشده باشد و تا زمان بهروزرسانی قواعد، درخواست مخرب از فیلتر عبور میکند. علاوه بر این، حملهای که از طریق یک نشانی دستکاریشده و کلیک مدیر انجام میشود، از نظر فایروال شبیه یک بازدید عادی از صفحه ورود به نظر میرسد.
نتیجه عملی این است که این لایهها زمان میخرند و حجم حملههای خودکار را کم میکنند، اما هیچکدام جایگزین نصب وصله نیستند. سایتی که پشت قویترین شبکه توزیع محتوا قرار دارد و هسته وصلهنشده دارد، همچنان آسیبپذیر است.
زمانبندی بهروزرسانی برای سایتهای پرترافیک
برای سایتی که روزانه چند هزار بازدید دارد، بهروزرسانی در میانه ساعت اوج ریسک تجاری خودش را دارد. اما تعویق آن تا آخر هفته هم انتخاب درستی نیست، چون همانطور که در پرونده wp2shell دیدیم، پنجره میان انتشار وصله و شروع بهرهبرداری انبوه معمولا کوتاه است.
راهحل عملی، انتخاب یک بازه کمترافیک در همان روز است. برای بیشتر سایتهای فارسیزبان، ساعات ابتدایی بامداد کمترین ترافیک را دارد. اگر آمار دقیق بازدید سایت خود را در اختیار دارید، به جای حدس زدن از همان داده استفاده کنید و پنجرهای را انتخاب کنید که اگر مشکلی پیش آمد، فرصت بازگردانی داشته باشید.
نکتهای که اغلب فراموش میشود این است که بعد از بهروزرسانی، حافظه پنهان باید پاک شود. اگر لایههای حافظه پنهان سایت شما محتوای قدیمی را همچنان سرو کنند، ممکن است تصور کنید بهروزرسانی چیزی را خراب کرده است، در حالی که فقط نسخه قدیمی صفحه در حال نمایش است.
چند اقدام پیشگیرانه که ارزش وقت گذاشتن دارد
فراتر از این وصله مشخص، چند تنظیم ساده وجود دارد که سطح خطر سایت شما را به شکل محسوسی پایین میآورد. محدود کردن تعداد تلاشهای ناموفق ورود، فعال کردن احراز هویت دو مرحلهای برای حسابهای مدیر، و بستن ثبتنام عمومی در صورتی که سایت شما به آن نیاز ندارد، سه مورد از موثرترینها هستند.
اگر سایت شما نویسنده یا مشارکتکننده دارد، بازبینی دورهای نقشها اهمیت پیدا میکند. همانطور که در جدول بالا دیدید، بخش بزرگی از آسیبپذیریهای این دور نیازمند دسترسی در سطح مشارکتکننده بودند. حسابی که دیگر فعال نیست و حذف نشده، یک در باز است.
برای فروشگاههای اینترنتی و نصبهای چندسایتی
اگر روی وردپرس فروشگاه دارید، وقفه ناشی از نفوذ فقط به معنای از دست رفتن محتوا نیست. اطلاعات سفارشها و مشتریان روی همان پایگاه داده قرار دارد. برای این دسته از سایتها توصیه میشود بهروزرسانی در ساعت کمترافیک انجام شود و بلافاصله بعد از آن، یک سفارش آزمایشی کامل تا مرحله پرداخت بررسی شود.
نصبهای چندسایتی وضعیت خاص خود را دارند، چون یکی از دوازده مورد اصلاحشده به طور مشخص ارتقای سطح دسترسی در همین حالت است. در یک شبکه چندسایتی، مدیر یک زیرسایت نباید بتواند به سطح مدیر شبکه برسد و همین مرز بود که نشت پیدا کرده بود.
جمعبندی و اقدام بعدی
خلاصه ماجرا در یک جمله این است: نسخه ۷.۰.۳ را همین امروز نصب کنید و اگر روی شاخههای قدیمیتر هستید، به ۶.۹.۶ یا ۶.۸.۷ بروید. بقیه اقدامها مهم هستند اما هیچکدام جای این یکی را نمیگیرند.
نکته پایانی برای مدیرانی که سایتشان را جدی میگیرند این است که امنیت وردپرس یک کار یکباره نیست. یک برنامه ساده و منظم برای بهروزرسانی، پشتیبانگیری خارج از سرور و استفاده از افزونههای دارای لایسنس معتبر، در بلندمدت از هر افزونه امنیتی موثرتر عمل میکند.
پرسشهای پرتکرار
آیا بهروزرسانی به نسخه ۷.۰.۳ ظاهر سایت من را تغییر میدهد؟
خیر. این یک انتشار امنیتی است و هدف آن فقط بستن نقصهای کشفشده است. تغییری در قابلیتها یا ظاهر پیشخوان ایجاد نمیکند. با این حال گرفتن پشتیبان پیش از هر بهروزرسانی همچنان توصیه میشود.
سایت من کوچک است و بازدید زیادی ندارد. آیا باز هم در خطر است؟
بله. بهرهبرداری از این دست آسیبپذیریها معمولا هدفمند نیست. مهاجمان با اسکن خودکار کل فضای اینترنت را جاروب میکنند و اندازه یا میزان بازدید سایت شما در انتخاب هدف نقشی ندارد.
افزونه امنیتی نصب کردهام. آیا از من محافظت میکند؟
افزونههای امنیتی میتوانند بخشی از تلاشها را مسدود کنند، اما جایگزین وصله رسمی نیستند. تنها راه بستن قطعی این نقص، بهروزرسانی هسته وردپرس به نسخه اصلاحشده است.
چطور بفهمم نسخه وردپرس سایتم چند است؟
از پیشخوان به بخش بهروزرسانیها یا سلامت سایت مراجعه کنید. اگر به پیشخوان دسترسی ندارید، مقدار نسخه در فایل wp-includes/version.php روی هاست ذخیره شده است.
اگر نسخه قدیمی وردپرس دارم، میتوانم یکباره به آخرین نسخه بروم؟
در بیشتر موارد بله، اما هرچه فاصله نسخهها بیشتر باشد احتمال ناسازگاری افزونهها بالاتر میرود. در این حالت پشتیبان کامل و بررسی سایت بعد از بهروزرسانی ضروری است.
آیا آسیبپذیری wp2shell هنوز خطرناک است؟
برای سایتهایی که وصله نشدهاند بله. کد اثبات مفهوم آن به صورت عمومی منتشر شده و اسکن خودکار برای یافتن سایتهای آسیبپذیر همچنان ادامه دارد. نسخههای اصلاحشده فعلی این نقص را هم پوشش میدهند.
اگر ترجیح میدهید این کارها را به تیمی بسپارید که سایت را بهروز نگه دارد، پشتیبانگیری منظم داشته باشد و امنیت را در کنار سئو دنبال کند، میتوانید از خدمات طراحی سایت و سئو کافه لایسنس استفاده کنید.
