GHSA-j9wj-m24m-7jj6: willitmerge 存在命令注入漏洞
严重程度:中等 发布日期: 2025年11月25日 所属仓库: shama/willitmerge 最近更新: 2025年11月26日
漏洞详情
软件包: npm / willitmerge
受影响版本: <= 0.2.1 已修复版本: 无
描述
willitmerge 自述为用于检查拉取请求是否可合并的命令行工具。在 willitmerge@0.2.1 版本中存在一个命令注入漏洞。
资源:
- 项目 GitHub 源代码:https://github.com/shama/willitmerge/
- 项目 npm 包:https://www.npmjs.com/package/willitmerge
漏洞利用背景
报告 willitmerge npm 包中的一个命令注入漏洞。
该软件包中存在安全漏洞,原因是其使用了不安全的子进程执行 API (exec),并将用户输入(无论是通过命令行标志提供,还是目标仓库中用户可控的内容)拼接进去。
漏洞利用
POC 1
- 安装 willitmerge
- 使用以下命令运行:
1willitmerge --verbose --remote "https://github.com/lirantal/npq.git; touch /tmp/hel" - 确认文件
/tmp/hel在磁盘上被创建
GitHub 来源的攻击向量
lib/willitmerge.js 中的第 189-197 行
将仓库协作用户控制的输入传入 git 命令:
|
|
用户创建类似 ;{echo,hello,world}>/tmp/c 的恶意分支名。
这与报告给 pullit 漏洞 的攻击向量类似。
作者: Liran Tal
参考
- GHSA-j9wj-m24m-7jj6
- https://github.com/shama/willitmerge/blob/2fe91d05191fb05ac6da685828d109a3a5885028/lib/willitmerge.js#L189-L197
发布时间: 2025年11月25日,由 shama 发布到 shama/willitmerge 发布于 GitHub Advisory Database: 2025年11月26日 已审核: 2025年11月26日 最后更新: 2025年11月26日
弱点
弱点类型: CWE-77 - 命令中使用的特殊元素的不当中和(命令注入)
描述: 该产品使用来自上游组件的外部影响输入来构建全部或部分命令,但在将命令发送到下游组件时,它没有中和或错误地中和了可能修改预期命令的特殊元素。 在 MITRE 上了解更多信息。
CVE ID: 无已知 CVE GHSA ID: GHSA-j9wj-m24m-7jj6 源代码: shama/willitmerge
报告者: lirantal