-
Notifications
You must be signed in to change notification settings - Fork 7
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Security issue #23
Comments
@lirantal wow thanks for reporting this! I'll merge that patch in ASAP. |
Hey, no problems. I guess you weren't aware but just to state that me and Karen from Snyk.io tried to reach out to you since October 2017 about this vulnerability. Probably should check your email filters or something :-) |
I get a lot of spam about "problems found with this or that github repo" so I do filter those out. It really stinks because you all have a very legitimate one. IMO it's a way better approach to open an issue or a PR on github directly. Thanks again! |
Hey there! Glad to see this getting attention! Wanted to update that the vulnerability was published to our database here: https://snyk.io/vuln/npm:pullit:20180214 Also, from my experience, most people prefer being notified via email through a responsible disclosure, giving them enough time to fix the issue before it goes public. Cheers, |
@karenyavine btw, don't you think a more proper CWE for the logged snyk issue is OS Command Injection? |
Thanks again all, merged patch and pushed to npm. |
Thanks Jon. |
Description
The pullit npm package makes insecure use of shell execution API (i.e:
exec()
orexecSync()
) which is vulnerable to a malicious user input based on a remote branch name on the GitHub platform, that can be set by a 3rd party, hence luring an innocent user to use the pullit module on the target branch and result in remote command execution exploit.Steps To Reproduce:
The pullit project has a set of exec() calls to git commands which may end up in originating from user input in terms of a carefully created remote branch name on GitHub, which pullit pulls branch names from.
Re-construct of a flow that results in a remote command execution on the user running pullit:
git checkout -b ";{echo,hello,world}>/tmp/c”
/tmp/c
Patch
See below for patch to fix the problem:
pullit-security-rce.patch:
The text was updated successfully, but these errors were encountered: