کشف آسیب‌پذیری در افزونه وردپرس

کشف آسیب‌پذیری در افزونه وردپرس

تاریخ ایجاد

افزونه   CIBELES AI در وردپرس در تمامی نسخه‌های ۱.۱۰.۸ و  قبل از آن به دلیل نبود بررسی سطح دسترسی در فایل actualizador_git.php  دچار آسیب‌پذیری آپلود فایل دلخواه است.
این نقص باعث می‌شود مهاجمان بدون نیاز به احراز هویت بتوانند مخازن دلخواه GitHub را دانلود کرده و فایل‌های افزونه را روی سرور سایت قربانی بازنویسی کنند. این امر می‌تواند در نهایت امکان اجرای کد از راه دور را فراهم کند.

فایل   CVE-2025-13595.pyنشان می­دهد چگونه یک مهاجم از راه دور می‌تواند فایل shell.php را آپلود کرده و کد را از راه دور اجرا کند.

آسیب‌پذیری در مسیر زیر وجود دارد:

/wp-content/plugins/cibeles-ai/actualizador_git.php

این فایل یک سیستم Mirror کردن مخزن GitHub را پیاده‌سازی می‌کند که به‌صورت مستقیم از طریق HTTP و بدون هیچ‌گونه کنترل امنیتی قابل دسترسی است.
فایل فاقد بررسی استاندارد وردپرس  ABSPATH است. if (!defined('ABSPATH')) exit; که وظیفه جلوگیری از دسترسی مستقیم از طریق HTTP را دارد.
پارامترها نیز مستقیماً بدون هیچ‌گونه اعتبارسنجی از  $_GET خوانده می‌شوند.

 

 

تنها بررسی انجام‌شده این است که آیا توکن خالی است یا مقدار پیش‌فرض دارد. هیچ‌گونه احراز هویت یا مجوزدهی انجام نمی‌شود:


اسکریپت یک فایل ZIP را از  API گیت‌هاب دانلود می‌کند و برای این کار از پارامترهایی استفاده می‌کند که کامل تحت کنترل کاربر هستند:

تابع  curl_download() توکن را در هدر   Authorization ارسال می‌کند، اما هیچ‌گونه اعتبارسنجی درباره مالک مخزن یا محتوای آن انجام نمی‌دهد. فایل  ZIPدانلودشده استخراج می‌شود و فایل‌ها مستقیماً به دایرکتوری افزونه کپی می‌شوند:

تابع  rrcopy_into()  همه فایل‌ها را از مخزن استخراج‌شده به‌صورت بازگشتی به دایرکتوری جاری (دایرکتوری افزونه) کپی می‌کند و فایل‌های موجود را بازنویسی می‌کند. فایل‌هایی که در مخزن دانلودشده وجود ندارند، حذف می‌شوند:

تابع mirror_delete_extras()  هر فایلی را در دایرکتوری افزونه که در فهرست مخزن وجود ندارد، حذف می‌کند.

 

محصولات آسیب‌پذیر

نسخه‌های ۱.۱۰.۸ و قبل آن

 

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

به کاربران توصیه می­شود در صورت استفاده از این افزونه آن را به نسخه 1.10.9 و بالاتر به­روزرسانی نمایند.

 

منبع خبر