کشف آسیب‌پذیری در WordPress

کشف آسیب‌پذیری در WordPress

تاریخ ایجاد

دو آسیب‌پذیری در افزونه‌ی وردپرس WP Ultimate CSV Importer کشف شده‌اند که اجازه‌ی حذف و آپلود فایل دلخواه توسط کاربران با سطح دسترسی subscriber و یا بالاتر را فراهم می‌کنند.

آسیب‌پذیری با شناسه‌ی CVE-2025-2008 و امتیاز 8.8 دارای شدت بالا در سیستم CVSS 3 بوده که به یک کاربر با پایین‌ترین سطح دسترسی اجازه می‌دهد فایل دلخواه خود را بر روی سایت وردپرسی آپلود نماید.

آسیب‌پذیری دوم با شناسه‌ی CVE-2025-2007 و امتیاز 8.1 دارای شدت بالا در سیستم CVSS 3 می‌باشد که به یک کاربر با پایین‌ترین سطح دسترسی اجازه می‌دهد فایل دلخواه خود را از روی سایت وردپرسی حذف نماید. بنابراین با حذف فایل wp-config.php و جایگزینی آن، امکان تصاحب کامل وب‌سایت برای یک مهاجم فراهم می‌شود.

 

جزئیات آسیب‌پذیری

افزونه‌ی WP Ultimate CSV Importer به کاربران اجازه می‌دهد به سادگی داده‌ها را در فرمت CSV و XML در یک وب‌سایت وردپرسی آپلود نمایند. یک تابع به نام import_single_post_as_csv() در کلاس SingleImportExport در این افزونه وجود دارد که برای import از فایل CSV به کار می‌رود.

اگرچه این تابع توسط nonce محافظت شده است، اما هیچ چکی روی نقش کاربر انجام نمی‌دهد و یک کاربر با سطح دسترسی subscriber که همان کاربر عادی سایت است و یا یکی از نقش‌های بالاتر (subscriber+) می‌تواند این nonce را در اختیار داشته باشد. این باعث می‌شود یک مهاجم پس از احراز هویت بتواند AJAX action را فراخوانی کند.

همچنین این تابع هیچ‌گونه چکی روی پسوند یا نوع فایل آپلود شده انجام نمی‌دهد. یعنی به‌جز فایل‌های CSV می‌توان هر نوع فایل دیگری را آپلود کرد. پس می‌توان با آپلود یک فایل با پسوند PHP در پوشه uploads وردپرس، به اجرای کد از راه دور دست یافت. در نتیجه، با بهره‌برداری از آسیب‌پذیری با شناسه‌ی CVE-2025-2008 امکان دسترسی کامل به یک وب‌سایت وردپرسی برای مهاجم فراهم می‌شود.

آسیب‌پذیری دوم با شناسه‌ی CVE-2025-2007 به دلیل نقص در تابع deleteImage() به وجود آمده است که در کلاس MediaHandling قرار دارد. پارامتر image به میزان کافی اعتبارسنجی نمی‌شود و محدود به فایل‌های عکس نیست. این یعنی هر نوع فایلی از روی سرور قابل حذف می‌باشد. همچنین با استفاده از یک nonce مربوط به یک کاربر با هر نوع سطح دسترسی، حتی subscriber، امکان فراخوانی این تابع وجود دارد. یک مشترک عادی وب‌سایت می‌تواند فایل w​p-config.php​​​​​​ را حذف کند و وب‌سایت را به حالت setup ببرد و آدرس دیتابیس وب‌سایت را عوض کند.

بردار حمله‌ی آسیب‌پذیری آپلود فایل CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H نشان می‌دهد که:

  • مهاجم از طریق اینترنت و بدون نیاز به دسترسی محلی می‌تواند حمله را اجرا کند.
  • پیچیدگی حمله کم است و یک کاربر عادی سامانه مانند یک نظر دهنده می‌تواند از آن بهره‌برداری کند.
  • هیچ تعاملی از سوی کاربران سایت لازم نیست.
  • محرمانگی (Confidentiality)، یکپارچگی (Integrity) و دسترس‌پذیری (Availability) سایت به‌شدت تحت تأثیر قرار می‌گیرند.

بردار حمله آسیب‌پذیری حذف فایل CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:H نشان می‌دهد که:

  • مهاجم از طریق اینترنت و بدون نیاز به دسترسی محلی می‌تواند حمله را اجرا کند.
  • پیچیدگی حمله کم است و یک کاربر عادی سامانه مانند یک نظر دهنده می‌تواند از آن بهره‌برداری کند.
  • هیچ تعاملی از سوی کاربران سایت لازم نیست.
  • یکپارچگی (Integrity) و دسترس‌پذیری (Availability) سایت به‌شدت تحت تأثیر قرار می‌گیرند.

 

نسخه‌های تحت تأثیر

  • نسخه‌ی 7.19 و تمامی نسخه‌های قبل از آن تحت تأثیر این آسیب‌پذیری قرار دارند.

 

توصیه‌های امنیتی

  • این آسیب‌پذیری در نسخه‌ی 7.19.1 افزونه برطرف شده است. توصیه می‌شود در اسرع وقت این نسخه یا نسخه‌های جدیدتر را نصب کنید.

 

منابع خبر:

[1]https://www.wordfence.com/blog/2025/03/20000-wordpress-sites-affected-by-arbitrary-file-upload-and-…

[2]https://nvd.nist.gov/vuln/detail/CVE-2025-2008

[3]https://nvd.nist.gov/vuln/detail/CVE-2025-2007