یک آسیبپذیری امنیتی در سیستم مدیریت محتوای QCMS تا نسخه 6.0.6 شناسایی شده است که امکان اجرای حملات SQL Injection را فراهم میکند. این نقص امنیتی در تابع self_Tmp در کتابخانه Lib/Config/Controllers.php و در بخش Content Detail Page قرار دارد.
جزئیات فنی حمله
مهاجمان میتوانند از طریق دستکاری آرگومان ID، دستورات SQL دلخواه خود را به پایگاه داده ارسال کنند. این حمله به صورت Remote (از راه دور) قابل اجرا است و هیچ نیازی به احراز هویت (Unauthenticated) یا تعامل کاربر (User Interaction) ندارد.
- بردار حمله: Network (AV:N)
- سطح دسترسی: بدون نیاز به احراز هویت (PR:N)
- تاثیرات: امکان خواندن کامل دادههای پایگاه داده (C:H) و دسترسی محدود برای تغییر دادهها (I:L).
چالشهای پیادهسازی Exploit
به دلیل نحوه مدیریت REQUEST_URI توسط Router در این سیستم، URLها پیش از تجزیه مسیر (Route Parsing) رمزگشایی (Decode) نمیشوند. بنابراین، Payloadهای ارسالی باید حاوی فضاهای خالی واقعی (Literal Spaces) باشند، زیرا کاراکتر %20 توسط سیستم شناسایی نمیشود.
وضعیت فعلی
در حال حاضر کد اکسپلویت (Exploit) و یک اثبات مفهوم (PoC) در محیطهای عمومی مانند GitHub منتشر شده است که ریسک بهرهبرداری از این آسیبپذیری را افزایش میدهد.