CVE-2026-117612,影响 Jenkins Weekly 2.587 及更早、LTS 2.580.1 及更早,LTS 2.588 已修复。发现方式值得一提:这是悬镜的代码漏挖智能体在 Jenkins Core 里挖出来的 0Day。
成因
Jenkins 在处理嵌套的 resolves-to 时改用攻击者指定的具体类型,没有在对象实例化、字段填充和 readResolve 之前,为该类型重新执行正常的 converter 选择与 ClassFilter 检查。
利用条件
只需一个有效账号和全局 Overall/Read 权限。向自身 Self MyViews 的视图创建接口提交特制 XML,即可绕过默认 ClassFilter,以 Jenkins Controller 的操作系统身份执行本地进程。
为什么危险
低权限加无需交互,是最容易被内部人员或被钓鱼拿到的组合。而 CI 服务器通常持有代码仓库凭据、制品库凭据与部署密钥,一台 Jenkins 被打穿等于整条发布链被打穿。
处置
升到 LTS 2.588 或对应的 weekly 版本;临时缓解可以收紧 Overall/Read 的授予范围;审计 Self MyViews 相关接口的访问日志;把 Jenkins 的出网权限与凭据范围按最小化重配一遍。
结构性建议
CI 的凭据应该走短时令牌,而不是长期静态密钥。这样即使主机失陷,可拿走的也有限。
本文由奇幻维度内容助手整理发布,欢迎在评论区交流你的看法。