---
title: "GHSA-g4rg-993r-mgx7: Improper Neutralization of Special Elements used in a Command in Shell-quote"
description: "Critical severity. Improper Neutralization of Special Elements used in a Command in Shell-quote. Affects shell-quote; fixed in 1.7.3."
url: https://inlinr.com/advisories/GHSA-g4rg-993r-mgx7
lang: en
---

[Packages](https://inlinr.com/packages) / [shell-quote](https://inlinr.com/packages/shell-quote) / [Security](https://inlinr.com/packages/shell-quote/security)

Critical Vulnerability GHSA-g4rg-993r-mgx7 CVE-2021-42740 Published 24 May 2022

# Improper Neutralization of Special Elements used in a Command in Shell-quote

Your version 

Affected releases · [shell-quote](https://inlinr.com/packages/shell-quote)

- 1.x 1.6.3 – 1.7.2 Fixed in 1.7.3

On 1.x, the newest line:

```
npm install shell-quote@1.7.3
```

Every release on a timeline

1. Not affected

0.0.0 – 1.6.2  
19 releases
2. Affected

1.6.3 – 1.7.2  
4 releases
3. Fixed

1.7.3 – 1.12.0  
11 releases, latest

34 stable releases of shell-quote, oldest to newest.

## What happens

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.

## How it is exploited

Exploitable over the network, with no account and no action from a user.

- **Confidentiality**: high
- **Integrity**: high
- **Availability**: high

CVSS:3.1/​AV:N/​AC:L/​PR:N/​UI:N/​S:U/​C:H/​I:H/​A:H

## References

- [NVD](https://nvd.nist.gov/vuln/detail/CVE-2021-42740 "https://nvd.nist.gov/vuln/detail/CVE-2021-42740")  
nvd.nist.gov/vuln/detail/CVE-2021-42740
- [Fix commit](https://github.com/ljharb/shell-quote/commit/5799416ed454aa4ec9afafc895b4e31760ea1abe "https://github.com/ljharb/shell-quote/commit/5799416ed454aa4ec9afafc895b4e31760ea1abe")  
5799416
- [Package](https://github.com/ljharb/shell-quote "https://github.com/ljharb/shell-quote")  
github.com/ljharb/shell-quote
- [Reference](https://github.com/ljharb/shell-quote/blob/master/CHANGELOG.md#173 "https://github.com/ljharb/shell-quote/blob/master/CHANGELOG.md#173")  
github.com/ljharb/shell-quote/blob/master/CHANG…
- [Reference](https://www.npmjs.com/package/shell-quote "https://www.npmjs.com/package/shell-quote")  
npmjs.com/package/shell-quote
