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

exploitDog

github логотип

GHSA-446w-rrm4-r47f

Опубликовано: 03 мар. 2022
Источник: github
Github: Прошло ревью
CVSS3: 5.5

Описание

Exposure of home directory through shescape on Unix with Bash

Impact

The issue allows for exposure of the home directory on Unix systems when using Bash with the escape or escapeAll functions from the shescape API with the interpolation option set to true. Other tested shells, Dash and Zsh, are not affected.

const cp = require("child_process"); const shescape = require("shescape"); const payload = "home_directory=~"; const options = { interpolation: true }; console.log(cp.execSync(`echo ${shescape.escape(payload, options)}`)); // home_directory=/home/user

Depending on how the output of shescape is used, directory traversal may be possible in the application using shescape.

Patches

The issue was patched in v1.5.1.

Workarounds

Manually escape all instances of the tilde character (~) using arg.replace(/~/g, "\\~").

References

See GitHub issue https://github.com/ericcornelissen/shescape/issues/169.

Пакеты

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

shescape

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

>= 1.4.0, < 1.5.1

1.5.1

EPSS

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

5.5 Medium

CVSS3

Дефекты

CWE-200
CWE-78

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

CVSS3: 6.2
nvd
почти 4 года назад

Shescape is a shell escape package for JavaScript. An issue in versions 1.4.0 to 1.5.1 allows for exposure of the home directory on Unix systems when using Bash with the `escape` or `escapeAll` functions from the _shescape_ API with the `interpolation` option set to `true`. Other tested shells, Dash and Zsh, are not affected. Depending on how the output of _shescape_ is used, directory traversal may be possible in the application using _shescape_. The issue was patched in version 1.5.1. As a workaround, manually escape all instances of the tilde character (`~`) using `arg.replace(/~/g, "\\~")`.

EPSS

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

5.5 Medium

CVSS3

Дефекты

CWE-200
CWE-78