CVE-2022-24725
Exposure of home directory through shescape on Unix with Bash
Description
### 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.
How to fix CVE-2022-24725
To remediate CVE-2022-24725, upgrade the affected package to a fixed version below.
- —upgrade to 1.5.1 or later
Is CVE-2022-24725 being exploited?
Low — EPSS is 0.3%, meaning exploitation activity has not been observed at scale.
Affected packages (1)
- >= 1.4.0, < 1.5.1
CVSS scores
| Source | Version | Severity | Vector |
|---|---|---|---|
| osv | CVSS 3.1 | MEDIUM5.5 | CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N |