یک آسیبپذیری امنیتی با شدت بالا (High) در نرمافزار مدیریت منابع انسانی و مدیریت ارتباط با مشتری (HR and CRM) موسوم به Horilla شناسایی شده است که امکان اجرای کد از راه دور (RCE) را فراهم میکند.
جزئیات فنی آسیبپذیری
این نقص امنیتی در نسخههای پیش از 2.0.0 و در متد HorillaListView.export_data در فایل horilla_views/generic/cbv/views.py رخ میدهد. مشکل زمانی ایجاد میشود که سیستم پارامتر columns را از درخواست POST یک کاربر احراز هویت شده دریافت کرده و مقدار field_tuple[1] را به عنوان کد منبع پایتون (Python source) در dynamic_fn_str جایگذاری میکند.
در نهایت، تعریف تابع تولید شده به تابع exec() ارسال میشود. یک مهاجم میتواند با ارسال یک رشته دستکاری شده (Crafted String) که با ast.literal_eval سازگار باشد، سینتکس پایتون را به آرگومانهای پیشفرض تابع تزریق کند. این امر منجر به اجرای دستورات دلخواه در سطح سیستمعامل (Arbitrary OS Commands) میشود.
توصیههای امنیتی
- مدیران سیستم و SOC باید فوراً نسخههای نصب شده Horilla را بررسی کرده و در صورت قدیمی بودن، آنها را به نسخه 2.0.0 یا بالاتر ارتقا دهند.
- به دلیل نیاز به احراز هویت برای بهرهبرداری از این آسیبپذیری، مدیریت دسترسیها و نظارت بر فعالیتهای کاربران در محیطهای حساس توصیه میشود.