CVE-2025-67641Jenkins Coverage Plugin 2.3054.ve1ff7b_a_a_123b_ 及之前版本存在一处存储型跨站脚本(Stored XSS)漏洞。该漏洞源于插件在创建coverage结果时未对配置的coverage结果ID进行安全验证,仅在通过Web UI提交作业配置时才进行验证。攻击者可以利用REST API绕过这一限制,使用javascript:伪协议URL作为标识符,当其他用户访问相关页面时触发恶意JavaScript代码执行。由于是存储型XSS,恶意脚本会持久化在系统中,对所有访问该页面的用户造成影响。此漏洞需要攻击者具备Item/Configure权限,属于低权限攻击场景,但结合用户交互要求,攻击利用存在一定局限性。
漏洞存在于Jenkins Coverage Plugin的coverage结果ID验证逻辑中。正常情况下,插件在UI提交配置时会检查coverage结果ID的有效性,但通过REST API创建或更新coverage结果时跳过了这一验证步骤。攻击者可以构造如下请求:使用javascript:alert(document.domain)作为coverage结果ID,由于REST API端点未进行URL scheme过滤,该恶意值会被存储到数据库中。当受害用户浏览包含该coverage结果的页面时,浏览器会执行javascript:伪协议后的代码。攻击者可利用此漏洞窃取用户会话cookie、劫持用户操作或进行钓鱼攻击。修复方案需要在REST API处理流程中添加与UI相同的ID验证逻辑,过滤javascript:等危险URL scheme。