CVE-2026-33002Jenkins 2.442至2.554(含)版本以及LTS 2.426.3至LTS 2.541.2(含)版本中存在严重的安全漏洞。该漏洞位于Jenkins CLI的WebSocket端点,攻击者可以通过构造恶意的DNS响应,利用DNS重绑定技术绕过Jenkins的来源(Origin)验证机制。Jenkins在验证WebSocket请求来源时,依赖HTTP请求头中的Host或X-Forwarded-Host字段来计算预期来源,但由于缺乏足够的验证,攻击者可以控制DNS解析结果,使得恶意域名在解析时指向目标Jenkins服务器,从而绕过同源策略限制。此漏洞允许未经身份验证的远程攻击者通过CLI接口执行恶意操作,可能导致敏感信息泄露、配置篡改甚至远程代码执行。攻击复杂度较低,但需要用户交互(诱导用户访问恶意页面),CVSS评分达到7.5分,属于高危漏洞。建议受影响的用户尽快升级到最新版本或应用官方发布的安全补丁。
该漏洞的根本原因在于Jenkins CLI WebSocket端点对请求来源的验证机制存在缺陷。当WebSocket连接建立时,Jenkins会检查请求的Origin头是否与预期来源匹配。预期来源的计算依赖于HTTP请求头中的Host或X-Forwarded-Host字段。攻击者可以利用DNS重绑定技术:首先注册一个恶意域名(如attacker.com),配置其DNS服务器在攻击的第一阶段返回一个短TTL的A记录指向攻击者控制的服务器;当目标用户访问攻击者准备的恶意网页时,浏览器发起WebSocket连接请求,此时DNS解析返回Jenkins服务器的真实IP地址;由于同源策略检查通过(域名相同),Jenkins认为请求来源合法,从而允许连接建立。一旦WebSocket连接建立成功,攻击者就可以通过CLI接口执行各种操作,包括但不限于:读取敏感配置文件、执行Groovy脚本、创建或修改管理员账户等。该漏洞影响所有使用CLI WebSocket功能的Jenkins实例,攻击者无需任何凭证即可发起攻击,但需要诱导已登录的管理员访问恶意页面以利用。