پلاگین‌های BdThemes در جریان یک حمله زنجیره تأمین به وردپرس با آلوده‌سازی JSON امکان ایجاد حساب‌های ادمین غیرمجاز را فراهم کردند

اشتراک گذاری

حمله زنجیره تأمین
❞ پژوهشگران امنیت سایبری از شناسایی یک حمله زنجیره تأمین در اکوسیستم پلاگین‌های BdThemes خبر داده‌اند؛ حمله‌ای که بدون تغییر فایل‌های کد منبع در مخزن رسمی وردپرس، از طریق آلوده‌سازی یک جریان داده JSON از راه دور، زمینه اجرای اسکریپت‌های مخرب را در محیط مدیریتی سایت‌ها فراهم کرده است

پژوهشگران امنیت سایبری از شناسایی یک حمله زنجیره تأمین در اکوسیستم پلاگین‌های BdThemes خبر داده‌اند؛ حمله‌ای که بدون تغییر فایل‌های کد منبع در مخزن رسمی وردپرس، از طریق آلوده‌سازی یک جریان داده JSON از راه دور، زمینه اجرای اسکریپت‌های مخرب را در محیط مدیریتی سایت‌ها فراهم کرده است. در جریان این حمله زنجیره تأمین، مهاجمان با سوءاستفاده از کامپوننت نمایش بنرهای تبلیغاتی در پنل مدیریت، کد مخرب را در مرورگر ادمین‌های سایت اجرا کرده‌اند؛ رخدادی که باعث شد تیم پلاگین‌های وردپرس دانلود پلاگین‌های تحت تأثیر BdThemes را به‌طور موقت متوقف کند تا بررسی‌های امنیتی لازم روی آن‌ها انجام شود.

پلاگین‌های BdThemes تحت تأثیر حمله زنجیره تأمین در وردپرس

بررسی‌های انجام‌شده نشان می‌دهد چندین پلاگین BdThemes تحت تأثیر این رخداد قرار گرفته‌اند. فهرست پلاگین‌های شناسایی‌شده به همراه تعداد نصب فعال آن‌ها به شرح زیر است:

  • Element Pack Addons for Elementor: مجموعه‌ای از ویجت‌ها (Widgets)، قالب‌ها و امکانات جانبی المنتور (Elementor) که بیش از 100 هزار نصب فعال دارد. شناسه پلاگین: bdthemes-element-pack-lite
  • Live Copy Paste for Elementor: ابزاری برای کپی و پیست بین‌دامنه‌ای (Cross-Domain Copy Paste) و کپی‌کردن صفحات که بیش از 6 هزار نصب فعال دارد. شناسه پلاگین: live-copy-paste
  • Pixel Gallery Addons for Elementor: مجموعه‌ای از ابزارهای نمایش گرید، ساخت گالری، گرید با قابلیت کشیدن و رها کردن (Drag and Drop Grid) و طراحی چیدمان گرید سفارشی به همراه گالری پورتفولیو (Portfolio Gallery). شناسه پلاگین: pixel-gallery
  • Prime Slider Addons for Elementor: پلاگینی شامل ویجت‌ها، قالب‌ها و امکانات جانبی المنتور. شناسه پلاگین: bdthemes-prime-slider-lite
  • Smart Admin Assistant: ابزاری برای افزودن قابلیت‌های جدید به داشبورد و بخش‌های مدیریتی سایت. شناسه پلاگین: smart-admin-assistant
  • Ultimate Post Kit Addons for Elementor: پلاگینی برای افزودن مجموعه‌ای از امکانات و ابزارهای جانبی به المنتور. شناسه پلاگین: ultimate-post-kit
  • Ultimate Store Kit: پلاگینی جانبی برای ووکامرس (WooCommerce)، Easy Digital Downloads (EDD) و المنتور که بیش از 6 هزار نصب فعال دارد. شناسه پلاگین: ultimate-store-kit

بررسی وضعیت این پلاگین‌ها در مخزن رسمی وردپرس نشان می‌دهد که دسترسی به آن‌ها در تاریخ 7 یا 8 آگوست 2026 مسدود شده است. در حال حاضر، این ابزارها قابل دریافت نیستند و تا زمان تکمیل فرآیند بررسی کامل در دسترس نخواهند بود.

آسیب‌پذیری Biggopti و مسیر اجرای کد مخرب

بررسی شرکت امنیتی Wordfence نشان می‌دهد ریشه این ضعف به کامپوننت داخلی Biggopti بازمی‌گردد که همراه پلاگین‌های تحت تأثیر ارائه شده است. این کامپوننت برای دریافت و نمایش بنرهای تبلیغاتی در داشبورد مدیریت وردپرس طراحی شده است و اطلاعات موردنیاز خود را از طریق یک سرور API دریافت می‌کند. در این فرآیند، Biggopti فایل‌های JSON مرتبط با محتوای تبلیغاتی را از یک باکت (Bucket) ذخیره‌سازی ابری در سرویس DigitalOcean Spaces دریافت کرده و محتوای آن‌ها را در محیط مدیریت وردپرس نمایش می‌دهد.

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

چگونه آسیب‌پذیری XSS زنجیره حمله را کامل کرد؟

بررسی کد کتابخانه Biggopti نشان داده است که در فرآیند پردازش پاسخ‌های JSON، یک آسیب‌پذیری cross-site scripting (XSS) وجود دارد. این آسیب‌پذیری ناشی از پردازش ناامن پارامتر display_id در پاسخ‌های API مربوط به Sigmative و  عدم ایمن‌سازی کافی داده‌ها در سمت کلاینت است. در چنین شرایطی، مهاجمی که بتواند API را تحت کنترل خود درآورد، می‌تواند اسکریپت‌های دلخواه را در صفحات هدف تزریق کند؛ این اسکریپت‌ها با هر بار بازشدن صفحه توسط کاربر، در مرورگر او اجرا خواهند شد.

اهمیت این ضعف در حمله زنجیره تأمین زمانی آشکار می‌شود که اسکریپت تزریق‌شده با هر بار بارگذاری صفحات wp-admin اجرا می‌شود. در نتیجه، کد مخرب بدون نمایش هشدار یا نیاز به اقدام از سوی ادمین، به‌صورت مخفیانه در مرورگر ادمین‌های واردشده به سایت اجرا خواهد شد.

این آسیب‌پذیری بر اساس سیستم CVSS با امتیاز 5.4 و شدت متوسط (Medium) ثبت شده است.

طبق یافته‌های Wordfence، این تغییر نخستین بار در 1 مارس 2026 در پلاگین bdthemes-prime-slider-lite اعمال شد و سپس به سایر پلاگین‌های تحت تأثیر نیز راه یافت. نکته مهم این است که این حمله زنجیره تأمین به‌طور کامل از طریق API هدایت می‌شود و برای اجرای آن، نه انتشار نسخه جدیدی از پلاگین لازم است و نه تغییری در فایل‌های ذخیره‌شده روی دیسک ایجاد می‌شود.

Wordfence اعلام کرده است که مهاجمان با به‌دست‌آوردن امکان نوشتن (Write Access) در باکت موردنظر، پاسخ‌های JSON قانونی را با پیلودهای دستکاری‌شده جایگزین کردند تا از این آسیب‌پذیری سوءاستفاده کنند. در ادامه، کد XSS به‌صورت مخفیانه در مرورگر هر ادمین واردشده به سایت و با هر بار بارگذاری صفحه wp-admin اجرا می‌شود. مهاجمان پس از اجرای کد مخرب می‌توانند کنترل بیشتری روی سایت قربانی به دست آورند. این کد اقدامات زیر را انجام می‌دهد:

  • ایجاد یک حساب ادمین غیرمجاز در وردپرس
  • نصب یک پلاگین حاوی وب‌شل (Web Shell) برای فراهم‌کردن امکان اجرای دستورات از راه دور
  • برقراری ارتباط با سرور فرماندهی و کنترل (C2) و ارسال اطلاعات مربوط به آلودگی و وضعیت عملیات

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

پیلود اصلی پلاگین‌های BdThemes در حمله زنجیره تأمین و ایجاد دسترسی پایدار

پیلود اصلی از طریق Endpoint با نام api-data-all-records به پلاگین‌های آلوده ارسال می‌شود. این پیلود در قالب یک فایل جاوااسکریپت (JavaScript) با نام w2.js ارائه شده و پس از اجرا، مجموعه‌ای از اقدامات مخرب را روی سایت قربانی انجام می‌دهد:

  • ارتباط با سرور C2: پیلود با سرور فرماندهی و کنترل (C2) با آدرس ia-cdn[.]com/fz/c ارتباط برقرار می‌کند و آدرس سایت قربانی را برای دریافت دستورهای مربوط به ادامه عملیات در اختیار این سرور قرار می‌دهد. اگر C2 تشخیص دهد که اجرای پیلود روی سایت موردنظر نباید ادامه پیدا کند و وضعیت skip یا done را ارسال کند، پیلود بلافاصله متوقف می‌شود.
  • ایجاد حساب ادمین غیرمجاز: پیلود با استفاده از REST API وردپرس یک حساب ادمین جدید و غیرمجاز ایجاد می‌کند.
  • نصب پلاگین جعلی: یک فایل ZIP حاوی پلاگین جعلی از سرور C2 دانلود شده و از طریق فرم استاندارد بارگذاری پلاگین در وردپرس نصب می‌شود. این فرآیند منجر به استقرار یک وب‌شل PHP با نام emer-run.php می‌شود.
  • ایجاد دسترسی پایدار در سایت: پیلود با استفاده از وب‌شل، دو ماژول برای ایجاد دسترسی پایدار (Persistence) در پوشه پلاگین‌های اجباری Must-Use Plugins (mu-plugins) نصب می‌کند. یکی از این ماژول‌ها یک بکدور ورود بدون احراز هویت (Magic-Login Backdoor) است که با استفاده از پارامتری مانند ?_wplogin=<token> در URL، امکان ورود به بخش مدیریت سایت بدون نیاز به احراز هویت را فراهم می‌کند. این بکدور برای ورود، حساب ادمینی را هدف قرار می‌دهد که قدیمی‌ترین حساب ثبت‌شده در سایت محسوب می‌شود. ماژول دوم برای مخفی‌کردن ردپای مهاجم طراحی شده است. این ماژول با ایجاد هوک (Hook) در کوئری‌های پایگاه داده وردپرس، حساب‌های کاربری غیرمجاز را از فهرست کاربران در بخش مدیریت پنهان می‌کند. همچنین هنگام نمایش تعداد کل کاربران، این حساب‌ها را از شمارش کنار می‌گذارد تا هم در فهرست کاربران مشاهده نشوند و هم تعداد واقعی حساب‌های ثبت‌شده برای ادمین قابل تشخیص نباشد.

پیلود جایگزین و ساخت اعتبارنامه‌های قابل پیش‌بینی

همچنین محققان یک پیلود جایگزین با نام x.js را روی زیرساخت متعلق به توسعه‌دهنده پلاگین شناسایی کردند. این پیلود از طریق Endpoint با نام api-data-records برای سایت‌های قربانی ارسال می‌شود و با استفاده از یک الگوریتم مشخص، اعتبارنامه‌های ادمینی را بر اساس نام میزبان هر سایت تولید می‌کند. از آنجا که این اطلاعات با یک الگوی ثابت و قابل محاسبه ساخته می‌شوند، می‌توان اعتبارنامه مربوط به هر سایت را با در اختیار داشتن نام میزبان آن محاسبه کرد.

طبق توضیحات Wordfence، این الگوریتم برای هر سایت یک نام کاربری قابل پیش‌بینی تولید می‌کند که با bd_ شروع می‌شود و پس از آن یک هش شش‌کاراکتری در Base36 قرار می‌گیرد. رمز عبور نیز با الگوی Bd@26! ساخته می‌شود و پس از آن همان هش و حرف x قرار می‌گیرد. برای این حساب نیز یک آدرس ایمیل با دامنه @wordpress.org در نظر گرفته می‌شود.

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

سپس مهاجمان از این اعتبارنامه‌ها برای ایجاد یک حساب ادمین مخرب استفاده کرده و اطلاعات مربوط به نتیجه حمله را به سرور فرماندهی و کنترل (C2) ارسال می‌کنند.

ارتباط زیرساخت حمله با کمپین‌های قبلی

بررسی‌ها نشان می‌دهد سرور فرماندهی و کنترل (C2) مورد استفاده در این کمپین، احتمالاً با دو حمله زنجیره تأمین نرم‌افزار دیگر که طی ماه‌های اخیر پلاگین‌های وردپرس را هدف قرار داده‌اند، ارتباط دارد. یکی از این حملات به پلاگین Advanced Responsive Video Embedder با شناسه آسیب‌پذیری CVE-2026-18072 مربوط بوده و حمله دیگر نیز OptinMonster را هدف قرار داده است.

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

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

شواهدی از نفوذ به زیرساخت ابری BdThemes

Wordfence اعلام کرده است که قرار گرفتن مستقیم رکوردهای JSON مخرب و پیلود ثانویه x.js در باکت متعلق به BdThemes، نشان می‌دهد زیرساخت این شرکت یا دسترسی‌های آن به فضای ذخیره‌سازی ابری احتمالاً مورد نفوذ قرار گرفته است. این شواهد می‌تواند بیانگر سرقت اعتبارنامه‌های دسترسی به فضای ذخیره‌سازی ابری BdThemes یا نفوذ به زیرساخت داخلی این شرکت باشد.

این گزارش تنها چند روز پس از آن منتشر شد که وردپرس یک آسیب‌پذیری XSS بازتابی پیش از احراز هویت (Pre-Authentication Reflected XSS) با شناسه CVE-2026-64638 و نام XSS2Shell را برطرف کرد.

این آسیب‌پذیری با امتیاز8.9 در مقیاس CVSS، در صورت تعامل ادمین با صفحه‌ای تحت کنترل مهاجم، امکان اجرای کد PHP روی سرور را فراهم می‌کند.

منابع

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

مطالب مرتبط