Vulnerability · Published Oct 21, 2021 · Assigned by mitre
CVE-2021-42740
Critical 9.8
In plain English
A critical-severity security flaw in the node-shell-quote package (Debian). There are no confirmed reports of exploitation so far. The chance it is exploited in the next 30 days is estimated at 4.2% (higher than 91% of all known vulnerabilities). Fixed versions are available - upgrade the affected package.
Official description
The shell-quote package before 1.7.3 for Node.js allows command injection. An attacker can inject unescaped shell metacharacters through a regex designed to support Windows drive letters. If the output of this package is passed to a real shell as a quoted argument to a command with exec(), an attacker can inject arbitrary commands. This is because the Windows drive letter regex character class is {A-z] instead of the correct {A-Za-z]. Several shell metacharacters exist in the space between capital letter Z and lower case letter a, such as the backtick character.
Affected packages & fixed versions
| Ecosystem | Package | Fixed in | Advisory |
|---|---|---|---|
| Debian:12 | node-shell-quote | 1.7.3+~1.7.1-1 | DEBIAN-CVE-2021-42740 |
| Debian:13 | node-shell-quote | 1.7.3+~1.7.1-1 | DEBIAN-CVE-2021-42740 |
| Debian:14 | node-shell-quote | 1.7.3+~1.7.1-1 | DEBIAN-CVE-2021-42740 |
| npm | shell-quote | 1.7.3 | GHSA-g4rg-993r-mgx7 |
Affected products (as reported)
References
- https://www.npmjs.com/package/shell-quote x_refsource_MISC
- https://github.com/substack/node-shell-quote/blob/master/CHANGELOG.md#173 x_refsource_CONFIRM
- https://github.com/substack/node-shell-quote/commit/5799416ed454aa4ec9afafc895b4e31760ea1abe x_refsource_CONFIRM