آسیب‌پذیری بحرانی پلاگین Elementor Pro امکان اجرای کد از راه دور در سایت‌های وردپرس را فراهم می‌کند

اشتراک گذاری

پلاگین Elementor Pro
❞ آسیب‌پذیری بحرانی CVE-2026-32475 در پلاگین Elementor Pro امکان آپلود فایل‌های اجرایی و اجرای کد از راه دور (RCE) را برای مهاجمان فراهم می‌کند. این آسیب‌پذیری نسخه‌های پلاگین Elementor Pro پیش از 4.2.2 را تحت تأثیر قرار می‌دهد و می‌تواند امنیت سایت‌های وردپرسی را به‌طور جدی تهدید کند.

منطق متفاوت اعتبارسنجی و پردازش فایل در پلاگین Elementor Pro

این آسیب‌پذیری به ماژول آپلود فایل (File Upload) مربوط است. این ماژول برای اعتبارسنجی فایل و پردازش فایل از دو لوپ (Loop) مجزا استفاده می‌کند که هنگام مواجهه با فایل‌های فاقد نام، آن‌ها را به شکل متفاوتی پردازش می‌کنند.

بر اساس گزارش Patchstack، این دو لوپ هنگام مواجهه با ورودی فاقد فایل از منطق یکسانی پیروی نمی‌کنند. منظور از ورودی فاقد فایل، بخشی از درخواست آپلود است که نام فایل برای آن تعیین نشده و PHP آن را با خطای UPLOAD_ERR_NO_FILE گزارش می‌کند.

به بیان ساده، پلاگین Elementor Pro در مراحل اعتبارسنجی و پردازش، یک ورودی یکسان را به شکل متفاوتی بررسی می‌کند. همین تفاوت به مهاجم اجازه می‌دهد درخواست آپلود را به‌گونه‌ای طراحی کند که فایل مخرب از مرحله اعتبارسنجی عبور کند.

طبق توضیح Patchstack، لوپ اعتبارسنجی و لوپ پردازش هنگام مواجهه با ورودی‌های فاقد فایل، در نقطه متفاوتی از روند بررسی متوقف می‌شوند. در نتیجه، مهاجم می‌تواند یک درخواست آپلود چندبخشی (Multipart Upload) را طوری طراحی کند که در مرحله اعتبارسنجی یک نتیجه و در مرحله پردازش و انتقال فایل، نتیجه‌ای متفاوت داشته باشد.

دور زدن اعتبارسنجی و قرار گرفتن فایل PHP مخرب در دایرکتوری عمومی

مهاجم با سوءاستفاده از این اختلاف می‌تواند یک درخواست آپلود چندبخشی دستکاری‌شده ایجاد کند که نخستین بخش آن فاقد نام فایل باشد و در بخش بعدی، یک پیلود مخرب PHP قرار گرفته باشد.

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

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

wp-content/uploads/elementor/forms/

به این ترتیب، پلاگین Elementor Pro به دلیل تفاوت در نحوه اعتبارسنجی و پردازش بخش‌های مختلف درخواست، امکان قرار گرفتن فایل PHP مخرب در یک مسیر عمومی و قابل دسترسی از طریق وب را فراهم می‌کند. سپس مهاجم می‌تواند با دسترسی به این فایل، زمینه اجرای کد از راه دور (RCE) روی سرور را فراهم سازد.

پلاگین Elementor Pro و قابلیت‌های پیشرفته آن

پلاگین Elementor Pro نسخه پولی Elementor است؛ یک ابزار محبوب ساخت وب‌سایت برای وردپرس که امکان طراحی و ویرایش صفحات را با قابلیت کشیدن و رها کردن (Drag-and-Drop) فراهم می‌کند.

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

نسخه Pro در مقایسه با نسخه رایگان، قابلیت‌های پیشرفته‌تری مانند ساخت فرم، ساخت و ویرایش قالب، ایجاد پاپ‌آپ (Popup)، افزودن کد سفارشی و CSS و ابزارهای تجارت الکترونیک را در اختیار کاربران قرار می‌دهد. این قابلیت‌ها باعث شده است نسخه Pro بیشتر در وب‌سایت‌ها و پلتفرم‌های حرفه‌ای مورد استفاده قرار گیرد.

شرایط لازم برای سوءاستفاده و نحوه اجرای پیلود مخرب

طبق اعلام Patchstack، برای سوءاستفاده از این آسیب‌پذیری، وجود یک فرم منتشرشده در Elementor با فیلد آپلود فایل در سایت هدف کافی است.

با این حال، اطلاعیه Elementor نشان می‌دهد که گزینه آپلود چند فایل نیز باید در این فرم فعال باشد؛ قابلیتی که به‌صورت پیش‌فرض غیرفعال است. بنابراین، در صورت فعال بودن این قابلیت‌ها، مهاجم می‌تواند از فرآیند آپلود برای ارسال فایل مخرب و سوءاستفاده از این آسیب‌پذیری پلاگین Elementor Pro استفاده کند.

به گفته پژوهشگران، پس از آپلود فایل PHP مخرب، مهاجم می‌تواند نام فایل ایجادشده در دایرکتوری عمومی را مشخص کند. دلیل این مسئله، نحوه تولید نام فایل با تابع uniqid() است. این تابع برخلاف تصور، مقدار کاملاً تصادفی تولید نمی‌کند؛ بلکه مقدار آن بر اساس زمان (Time-Based) شکل می‌گیرد و در نتیجه، از تصادفی‌سازی کافی برخوردار نیست. در نتیجه، مهاجم می‌تواند با استفاده از بروت‌فورس مبتنی بر زمان (Timing Brute-Force)، نام پیلود را به دست آورد. در برخی پیکربندی‌ها نیز امکان دستیابی به URL دقیق فایل از طریق یک ایمیل پاسخ خودکار وجود دارد.

پس از آنکه مهاجم URL فایل آپلودشده را به دست آورد، با ارسال درخواست به آن URL، مفسر PHP (PHP Interpreter) سرور محتوای فایل را اجرا می‌کند.

در این مرحله، کد دلخواه مهاجم می‌تواند با سطح دسترسی وب‌سرور اجرا شود. در نتیجه، سوءاستفاده موفق از این آسیب‌پذیری می‌تواند منجر به اجرای کد دلخواه مهاجم روی سرور شود.

انتشار پچ و توصیه‌های امنیتی

Patchstack در تاریخ 16 جولای از وجود این آسیب‌پذیری بحرانی مطلع شد. توسعه‌دهنده پلاگین یک روز بعد فرآیند آماده‌سازی پچ را آغاز کرد. Patchstack نیز در تاریخ 3 آگوست این پچ را بررسی و تأیید کرد و نسخه حاوی این به‌روزرسانی منتشر شد.

Elementor نیز کاربران خود را از وجود این آسیب‌پذیری مطلع کرده است. طبق اعلام این شرکت، سایر سایت‌هایی که از پلاگین Elementor Pro استفاده می‌کنند، تحت تأثیر این آسیب‌پذیری قرار نمی‌گیرند. با این حال، Elementor توصیه کرده است همه کاربران برای کاهش ریسک‌های امنیتی و جلوگیری از بروز ناسازگاری، پلاگین را به آخرین نسخه به‌روزرسانی کنند.

همچنین مدیران سایت‌ها پس از به‌روزرسانی باید دایرکتوری زیر را به‌دقت بررسی کنند:

wp-content/uploads/elementor/forms/

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

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

با وجود شدت این آسیب‌پذیری و امکان سوءاستفاده از آن برای اجرای کد از راه دور (RCE)، تا زمان انتشار این گزارش هیچ موردی از اکسپلویت فعال CVE-2026-32475 در محیط واقعی گزارش نشده است. با این حال، بررسی دایرکتوری مربوط و به‌روزرسانی پلاگین به آخرین نسخه، همچنان از اقدامات ضروری برای کاهش ریسک سوءاستفاده احتمالی به شمار می‌رود.

منابع

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

مطالب مرتبط