یک آسیبپذیری امنیتی جدید در فریمورک reNgine (نسخههای تا 2.2.0) شناسایی شده است که امکان اجرای دستورات دلخواه در سطح سیستمعامل را فراهم میکند. این نقص امنیتی در تابع subdomain_discovery در فایل web/reNgine/tasks.py و در بخش listTargets Endpoint رخ میدهد.
جزئیات فنی و مکانیسم حمله
این آسیبپذیری از نوع OS Command Injection است و زمانی رخ میدهد که آرگومان Name به درستی اعتبارسنجی نشود. یک مهاجم که دارای دسترسیهای سطح پایین (Low-privileged) باشد، میتواند با ارسال یک مقدار دستکاری شده در فیلد نام هدف، دستورات سیستمعامل را از طریق پوسته (Shell) اجرا کند. این حمله به صورت از راه دور (Remote) قابل اجرا است و منجر به دسترسی کامل به کد (Full Code Execution) در سرور هدف میشود.
وضعیت فعلی و ریسکها
- وضعیت اکسپلویت: کد اکسپلویت (Exploit) این آسیبپذیری به صورت عمومی منتشر شده است و میتواند توسط عوامل تهدید مورد استفاده قرار گیرد.
- وضعیت اصلاحیه: در حال حاضر یک Pull Request برای رفع این مشکل ارائه شده است، اما هنوز توسط توسعهدهندگان پذیرفته نشده و نسخه اصلاحشده (Patched Version) به طور رسمی منتشر نشده است.
- پیشنیازها: برای بهرهبرداری از این نقص، مهاجم باید دارای یک نشست (Session) معتبر یا دسترسی احراز هویت شده (حتی با سطح دسترسی Auditor) باشد.
تاریخچه آسیبپذیریهای reNgine
این ابزار که یک فریمورک خودکار برای شناسایی (Reconnaissance) برنامههای وب است، پیش از این نیز با آسیبپذیریهای متعددی از جمله RCE در توابع پیکربندی YAML و نقصهای بحرانی در موتور اسکن مواجه شده بود که نشاندهنده تکرار الگوهای ضعف در مدیریت ورودیها در این نرمافزار است.