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. ```javascript 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.
describes (1)
Related CVEs.
| ID | severity | exploitable | ||
|---|---|---|---|---|
| CVE-2022-24725US | medium5.5 | — | ||
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` o… | ||||
references
External citations — patches, advisories, analysis.
- https://github.com/ericcornelissen/shescapePACKAGE
- https://github.com/ericcornelissen/shescape/issues/169WEB
- https://github.com/ericcornelissen/shescape/pull/170WEB
- https://github.com/ericcornelissen/shescape/security/advisories/GHSA-446w-rrm4-r47fWEB
- https://nvd.nist.gov/vuln/detail/CVE-2022-24725ADVISORY
Advisories like this name the exposed products attackers go after on your perimeter. See what is exposed on your perimeter with a free passive scan.
Free scan