


























Disclosing a Command Injection vulnerability in willitmerge@0.2.1. The willitmerge project describes itself as a command line tool to check if pull requests are mergeable. This report is now public after responsible disclosure and outreach to the maintainer which has not yet acknowledged the issue.
Resources:
I’m reporting a Command Injection vulnerability in willitmerge npm package.
A security vulnerability manifests in this package due to the use of insecure
child process execution API (exec) to which it concateanes user input, whether
provided to the command-line flag, or is in user control in the target repository.
willitmergewillitmerge --verbose --remote "https://github.com/lirantal/npq.git; touch /tmp/hel"
/tmp/hel is created on diskLines 189-197 in lib/willitmerge.js
pass user input controlled by repository collaborators into the git command:
var cmds = [
'git checkout -b ' + branch + ' ' + that.options.remote + '/' + iss.base.ref,
'git remote add ' + branch + ' ' + gitUrl,
'git pull ' + branch + ' ' + iss.head.ref,
'git reset --merge HEAD',
'git checkout ' + origBranch,
'git branch -D ' + branch,
'git remote rm ' + branch
];
Users creating malicious branch names such as ;{echo,hello,world}>/tmp/c
This is a similar attack vector to that which was reported for the pullit vulnerability
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。