
تفاصيل حول مشكلة Blind RCE (SPX-GC) في SPX-GC
في SPX-GC الإصدار 1.3.0v والإصدارات الأقدم، تم تمرير إدخال يتحكم فيه المستخدم إلى دالة exec في وحدة child_process دون أي تعقيم، مما أدى إلى التنفيذ الأعمى للتعليمات البرمجية عن بُعد دون مصادقة.
في /routes/routes-api.js، يؤدي إدخال المستخدم المستلَم من معامل file والممرَّر إلى دالة exec في child_process إلى حدوث تنفيذ أعمى للتعليمات البرمجية عن بُعد (Blind RCE) دون مصادقة.
يحدث التنفيذ الأعمى للتعليمات البرمجية عن بُعد (Blind RCE) في تطبيقات الويب عندما يتمكن المهاجم من تنفيذ تعليمات برمجية عشوائية على الخادم دون ردود فعل فورية أو معرفة مباشرة بالنتائج. غالبًا ما تنشأ هذه الثغرة بسبب المعالجة غير السليمة لمدخلات المستخدم ويمكن استغلالها عبر آليات مثل تنفيذ الأوامر. المراجع:
SPX-GC <= 1.3.0v
تم إصلاحها في الالتزام commit، أُضيفت التغييرات إلى فرع master، لذا فإن البناء الجديد والتثبيت من ذلك الفرع ليسا عرضة للثغرة. لم يُنشر الإصلاح بعد كإصدار على GitHub.
CVE-2024-44623
تنفيذ أعمى للتعليمات البرمجية عن بُعد
استخدام إدخال المستخدم في دالة require('child_process').exec('open "' + folder + '"'); داخل ملف routes/routes-api.js
يمكن لمستخدم غير مصادَق تنفيذ أوامر الصدفة (Shell) في الحالات التي تكون فيها أداة SPX-GC المعرضة للثغرة قيد التشغيل.
الكود المعرض للثغرة: routes/routes-api.js#L37-L39
التزام الإصلاح: 31c96893a193428a3a11499ed0e165125f9bbe23