Description
Shescape before 2.1.15 (and 3.0.0 before 3.0.2) fails to properly escape tilde (~) characters in assignment contexts on Unix systems where the shell is explicitly configured to "sh" or true and /bin/sh points to BusyBox. Using the escape and escapeAll APIs with untrusted input in an assignment prefixed to a command, an attacker can inject a tilde payload to disclose the user's home directory location and, depending on usage, alter the location on which a command operates.
Affected products
Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.
ericcornelissen shescape
Default version status: unaffected
0 to < 2.1.15affected3.0.0 to < 3.0.2affected
pkg:npm/shescapeReferences
- https://github.com/ericcornelissen/shescape/security/advisories/GHSA-j44h-fqhh-fh28 ↗
- https://github.com/ericcornelissen/shescape/commit/d86bf2ae22961c73458bddf70dd06adf9dadb36c ↗
- https://github.com/ericcornelissen/shescape/commit/7cba30594c16a21524706efe2f6c6c9d8923f411 ↗
- https://www.vulncheck.com/advisories/shescape-before-home-directory-disclosure-via-busybox ↗