توبیت
آنتی ویروس پادویش

آسیب پذیری جدید WordPress می تواند از طریق XSS بدون احراز هویت به اجرای کد PHP منجر شود؛ فورا به روزرسانی کنید

آسیب پذیری جدید WordPress

به گزارش زوم تک، وردپرس یک آسیب پذیری امنیتی شدید از نوع Reflected Cross-Site Scripting یا XSS را در صفحه ورود خود برطرف کرده است. این نقص امنیتی تمام نسخه های وردپرس را تحت تاثیر قرار می دهد و پژوهشگران نشان داده اند که مهاجم می تواند در شرایط خاص آن را با حملات دیگر ترکیب کرده و به اجرای کد PHP روی سرور دست پیدا کند.

کانال بله زوم تکگیفت کارت

این آسیب پذیری با شناسه CVE-2026-64638 و امتیاز 8.9 از 10 در CVSS ثبت شده است. برای فعال کردن بخش XSS حمله، مهاجم به هیچ سطحی از دسترسی یا احراز هویت نیاز ندارد. با این حال، تبدیل این XSS به اجرای کد روی سرور به حضور یک کاربر با دسترسی Administrator و تعامل او با یک صفحه تحت کنترل مهاجم نیاز دارد.

آسیب پذیری XSS در صفحه ورود وردپرس

ریشه مشکل به نحوه پردازش نام کاربری در زمان ورود ناموفق مربوط می شود. بر اساس بررسی پژوهشگران، مقدار نام کاربری ابتدا از توابعی مانند sanitize_user() و wp_strip_all_tags() عبور می کند.

مشکل زمانی ایجاد می شود که یک رشته شبیه تگ HTML با فاصله در بخش ابتدایی آن وارد شود. این ورودی ممکن است در مرحله اول به عنوان متن از فیلتر عبور کند، اما در مرحله دیگری که WordPress از wp_kses_post() استفاده می کند، همان ورودی به عنوان HTML مجاز تفسیر می شود.

در نتیجه، عناصر DOM تحت کنترل مهاجم می توانند در صفحه خطای ورود ایجاد شوند و JavaScript مربوط به آن ها در مرورگر کاربر اجرا شود.

چگونه XSS به اجرای JavaScript در وردپرس منجر می شود؟

این عناصر مخرب با اسکریپت داخلی user-profile.js وردپرس تعامل پیدا می کنند. این اسکریپت برای مدیریت پروفایل کاربران استفاده می شود و به دلیل وجود قابلیت های مربوط به بازیابی رمز عبور، در صفحه ورود نیز بارگذاری می شود.

پژوهشگران متوجه شدند برخی از عناصری که این اسکریپت انتظار دارد در صفحه وجود داشته باشند، در صفحه ورود وجود ندارند. در نتیجه، چند مقدار به صورت undefined باقی می مانند و یک بررسی منطقی می تواند تحت تاثیر قرار گیرد.

همچنین متغیر ajaxurl که در حالت عادی مقدار مورد انتظار را ندارد، می تواند با یک عنصر DOM تزریق شده توسط مهاجم جایگزین شود. این موضوع باعث می شود JavaScript داخلی وردپرس به سمت یک درخواست REST در همان Origin هدایت شود.

استفاده از REST JSONP برای اجرای JavaScript

پژوهشگران در ادامه از قابلیت JSONP در REST وردپرس برای تبدیل این درخواست به اجرای JavaScript در Origin سایت استفاده کردند.

در برخی تنظیمات، درخواست های ناشناس REST با پاسخ HTTP 401 مواجه می شوند. پژوهشگران اعلام کرده اند که استفاده از پارامتر _envelope=1 می تواند این پاسخ را داخل یک پاسخ HTTP 200 قرار دهد و در نتیجه jQuery همچنان آن را به عنوان Script پردازش کند.

بر اساس آزمایش های انجام شده، حتی یک Content Security Policy مبتنی بر nonce و strict-dynamic نیز نتوانسته مسیر اثبات شده در این پژوهش را مسدود کند.

چگونه XSS به اجرای کد PHP تبدیل می شود؟

بخش مهم تر این زنجیره حمله با استفاده از تکنیکی مرتبط با تحقیقات قبلی Paulos Yibelo با نام Same Origin Method Execution یا SOME انجام می شود.

پژوهشگران pwn.ai نشان داده اند که می توان از XSS موجود در Origin وردپرس برای فراخوانی کنترل مربوط به تایید Application Password در نشست یک Administrator واردشده استفاده کرد.

در این فرآیند، وردپرس یک اعتبارنامه API ایجاد کرده و آن را به یک success_url تحت کنترل مهاجم هدایت می کند.

Application Passwordها برای دسترسی API طراحی شده اند و قابل لغو هستند. بنابراین این مسیر لزوما به سرقت رمز عبور اصلی مدیر نیاز ندارد.

آپلود افزونه مخرب و اجرای PHP

پژوهشگران از اعتبارنامه ایجادشده برای دسترسی احراز هویت شده به REST API استفاده کردند و یک صفحه وردپرس حاوی JavaScript با Origin مشابه ایجاد کردند.

زمانی که نشست Administrator باقی مانده این صفحه را باز کرد، JavaScript موجود در آن توانست Nonce مربوط به آپلود افزونه وردپرس را دریافت کند و یک فایل ZIP تحت کنترل مهاجم را روی سایت آپلود کند.

این ZIP حاوی یک افزونه مخرب بود و پژوهشگران نشان دادند که PHP موجود در افزونه استخراج شده می تواند مستقیما درخواست شود. در این سناریو، فعال کردن افزونه نیز ضروری نبود.

حمله به تعامل مدیر نیاز دارد

با وجود شدت بالای این زنجیره، تبدیل XSS به اجرای کد PHP کاملا بدون تعامل کاربر نیست. مهاجم باید یک Administrator واردشده را وادار کند با صفحه تحت کنترل خود تعامل داشته باشد. در نمونه ارائه شده، این تعامل تنها یک کلیک معمولی بود.

خود آسیب پذیری XSS در صفحه ورود به احراز هویت نیاز ندارد و پس از قرار گرفتن نام کاربری دستکاری شده در صفحه خطای ورود، JavaScript می تواند در مرورگر اجرا شود.

آیا این آسیب پذیری در حملات واقعی استفاده شده است؟

بر اساس اطلاعات ارائه شده، شواهد تولیدی که در اختیار پژوهشگران قرار گرفته تنها وجود XSS را نشان می دهد. آن ها این آسیب پذیری را روی دو نصب تازه وردپرس نسخه 7.0.2 و در پروفایل های جدید Chrome، بدون Cookie یا اطلاعات احراز هویت وردپرس، بازتولید کرده اند.

پژوهشگران روی این سیستم ها ایجاد Application Password، آپلود فایل، ایجاد ماندگاری یا اجرای PHP را انجام نداده اند. زنجیره کامل منتهی به اجرای PHP به صورت جداگانه روی یک نصب محلی و پاک وردپرس 7.0.2 آزمایش شده است.

تا ۷ اوت، توصیه امنیتی وردپرس نیز هیچ موردی از سوءاستفاده واقعی از این آسیب پذیری را گزارش نکرده است.

کدام نسخه وردپرس این مشکل را برطرف کرده است؟

وردپرس این آسیب پذیری را در نسخه WordPress 7.0.3 که در ۶ اوت منتشر شده، برطرف کرده است. اصلاحیه های امنیتی همچنین به شاخه های قدیمی تر تا نسخه 4.7 Backport شده اند.

کاربران وردپرس باید در اسرع وقت سایت خود را به نسخه اصلاح شده ارتقا دهند. سایت هایی که قابلیت به روزرسانی خودکار پس زمینه را فعال دارند، باید این نسخه امنیتی را به صورت خودکار دریافت کنند.

نسخه های قدیمی تر از 4.7 همچنان تحت تاثیر آسیب پذیری قرار دارند، اما خارج از محدوده فعلی Backportهای پروژه وردپرس هستند.

اجرای PHP چه خطری برای سایت دارد؟

اگر مهاجم بتواند زنجیره XSS را تا اجرای PHP ادامه دهد، دامنه دسترسی او بسیار گسترده خواهد بود. در چنین شرایطی امکان دسترسی به اطلاعات اتصال پایگاه داده موجود در wp-config.php، ایجاد حساب Administrator دائمی، تغییر محتوای سایت و دسترسی به فایل ها و اطلاعات محرمانه قابل خواندن توسط PHP Worker وجود خواهد داشت.

همچنین مهاجم می تواند در محدوده سطح دسترسی PHP Worker، دستورات سیستم عامل را اجرا کند. به همین دلیل، این آسیب پذیری تنها یک مشکل ساده در صفحه ورود نیست و در شرایط مشخص می تواند به یک نفوذ کامل تر در سرور منجر شود.

توصیه امنیتی وردپرس

پژوهشگران تاکید کرده اند که راهکارهای معمول Hardening وردپرس نباید به عنوان یک راه حل کامل برای آسیب پذیری XSS در نظر گرفته شوند و نصب به روزرسانی امنیتی ضروری است.

تیم وردپرس نیز کشف و گزارش مسئولانه این آسیب پذیری را به تیم pwn.ai نسبت داده است. با توجه به انتشار نسخه اصلاح شده، به روزرسانی وردپرس مهم ترین اقدام برای جلوگیری از سوءاستفاده از این نقص امنیتی است.

به این پست امتیاز بدید

نظرات در مورد : آسیب پذیری جدید WordPress می تواند از طریق XSS بدون احراز هویت به اجرای کد PHP منجر شود؛ فورا به روزرسانی کنید

0 دیدگاه

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

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