Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

Security Fix for RCE on "mrgit" - huntr.dev #123

Open
wants to merge 2 commits into
base: master
Choose a base branch
from

Conversation

huntr-helper
Copy link

https://huntr.dev/users/alromh87 has fixed the RCE on "mrgit" vulnerability 🔨. alromh87 has been awarded $25 for fixing the vulnerability through the huntr bug bounty program 💵. Think you could fix a vulnerability like this?

Get involved at https://huntr.dev/

Q | A
Version Affected | ALL
Bug Fix | YES
Original Pull Request | 418sec#1
Vulnerability README | https://github.com/418sec/huntr/blob/master/bounties/npm/mrgit/1/README.md

User Comments:

📊 Metadata *

Bounty URL: https://www.huntr.dev/bounties/1-npm-mrgit

⚙️ Description *

mrgit was vulnerable against arbitrary command injection cause some user supplied inputs were taken and executed with shelljs function without prior validation.
After update Arbitary Code Execution is avoided

💻 Technical Description *

Comands are executed using shelljs without sanitization, leading to Arbitrary Code Execution, missing sanitization was added

🐛 Proof of Concept (PoC) *

Install the package and run the below code:

const diff = require( './lib/commands/diff' );
diff.execute({arguments:['test; touch HACKED; #'], toolOptions:{packages:'', }, repository:{directory:''}})

It will create a file HACKED in the working directory.

Captura de pantalla de 2020-09-08 18-32-33

🔥 Proof of Fix (PoF) *

After fix no file is created

Captura de pantalla de 2020-09-08 18-56-34

👍 User Acceptance Testing (UAT)

Commands can be executed normally

# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants