[email protected] 中的命令注入漏洞

admin 2022年4月28日12:50:21评论45 views字数 955阅读3分11秒阅读模式

[email protected] 中的命令注入漏洞

git-interface将自己描述为与 node.js 中的 git 存储库一起使用的接口


资源:


项目的GitHub源代码:


https://github.com/yarkeev/git-interface


项目的npm包:


https://www.npmjs.com/package/git-interface


报告git-interfacenpm 包中的操作系统命令注入漏洞。如果用户输入能够提供磁盘上的有效目录并提供目标目录来克隆存储库,则 API 可能会被滥用。


POC


安装[email protected]最新的。


运行以下代码,具有以下前提条件,其中/tmp/new目录需要存在(但不需要是 .git 初始化目录),因此,您可以提供可预测的路径,例如 say /usr/src:

const { Git } = require('git-interface');
const git = new Git({ dir: '/tmp/new' //default path is current directory});
git.clone('file:///tmp/new', '--upload-pack=echo>/tmp/pwned');

观察创建的新文件:/tmp/pwned


缓解建议


    使用 shell--表示法作为支持的命令行参数的后缀(如果有的话),以确保传递给 git 命令的输入是位置参数而不是命令行参数。例如:git clone -- <path> <destination>将防止路径和目标被解释为 git 命令的命令行参数。



影响


    如果两者都由用户输入提供,那么--upload-packgit 也支持使用命令行参数功能git clone,这将允许攻击者生成任何操作系统命令。


参考


Liran Tal 的 GitHub 要点


https://gist.github.com/lirantal/972eba057d4b60bd1656d68b40899eab



原文地址:


https://huntr.dev/bounties/cdc25408-d3c1-4a9d-bb45-33b12a715ca1/

美女压阵


git-interface@2.1.1 中的命令注入漏洞
git-interface@2.1.1 中的命令注入漏洞

扫描二维码获取

更多精彩

git-interface@2.1.1 中的命令注入漏洞

洛米唯熊

原文始发于微信公众号(洛米唯熊):[email protected] 中的命令注入漏洞

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年4月28日12:50:21
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   [email protected] 中的命令注入漏洞http://cn-sec.com/archives/953009.html

发表评论

匿名网友 填写信息