RCE in Shell-Quote Project
CVE-2021-42740
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.
Vulnerability class: Command Injection (OS Command Injection)
Published · last modified .
CVSS v3 metric
CVSS v3 base score 9.8 (Critical). Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H.
EPSS exploit prediction
EPSS: 0.042 (90.7th percentile), scored .
Low probability of exploitation in the next 30 days, but still tracked. 91st percentile — 90.7% of CVEs in the catalogue have a lower EPSS than this one. How to read EPSS.
EPSS over last 30 days · oldest: 0.042 · newest: 0.042 · change: 0.000
Affected products
Weakness classification (CWE)
Public proof-of-concept exploits
References
- www.npmjs.com/package/shell-quote (Vendor Advisory)
- github.com/substack/node-shell-quote/blob/master/CHANGELOG.md (Third Party Advisory)
- github.com/substack/node-shell-quote/commit/5799416ed454aa4ec9afafc895b4e31760e… (Patch, Third Party Advisory)
Frequently asked questions
- What is CVE-2021-42740?
- CVE-2021-42740 is a critical-severity vulnerability in Shell-Quote Project, classified under Command Injection. CVSS score: 9.8/10. Published 2021-10-21.
- How severe is CVE-2021-42740?
- Critical severity. CVSS v3 base score is 9.8 out of 10.
- Is CVE-2021-42740 known to be exploited?
- 3 public proof-of-concept repositories are indexed. Not currently listed in the CISA KEV catalog.