Vulnerability Details : CVE-2022-31180
Potential exploit
Shescape is a simple shell escape package for JavaScript. Affected versions were found to have insufficient escaping of white space when interpolating output. This issue only impacts users that use the `escape` or `escapeAll` functions with the `interpolation` option set to `true`. The result is that if an attacker is able to include whitespace in their input they can: 1. Invoke shell-specific behaviour through shell-specific special characters inserted directly after whitespace. 2. Invoke shell-specific behaviour through shell-specific special characters inserted or appearing after line terminating characters. 3. Invoke arbitrary commands by inserting a line feed character. 4. Invoke arbitrary commands by inserting a carriage return character. Behaviour number 1 has been patched in [v1.5.7] which you can upgrade to now. No further changes are required. Behaviour number 2, 3, and 4 have been patched in [v1.5.8] which you can upgrade to now. No further changes are required. The best workaround is to avoid having to use the `interpolation: true` option - in most cases using an alternative is possible, see [the recipes](https://github.com/ericcornelissen/shescape#recipes) for recommendations. Alternatively, users may strip all whitespace from user input. Note that this is error prone, for example: for PowerShell this requires stripping `'\u0085'` which is not included in JavaScript's definition of `\s` for Regular Expressions.
Products affected by CVE-2022-31180
- cpe:2.3:a:shescape_project:shescape:*:*:*:*:*:*:*:*
Exploit prediction scoring system (EPSS) score for CVE-2022-31180
0.14%
Probability of exploitation activity in the next 30 days
EPSS Score History
~ 36 %
Percentile, the proportion of vulnerabilities that are scored at or less
CVSS scores for CVE-2022-31180
Base Score | Base Severity | CVSS Vector | Exploitability Score | Impact Score | Score Source | First Seen |
---|---|---|---|---|---|---|
9.8
|
CRITICAL | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H |
3.9
|
5.9
|
NIST | |
9.8
|
CRITICAL | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H |
3.9
|
5.9
|
GitHub, Inc. |
CWE ids for CVE-2022-31180
-
The product constructs all or part of a command, data structure, or record using externally-influenced input from an upstream component, but it does not neutralize or incorrectly neutralizes special elements that could modify how it is parsed or interpreted when it is sent to a downstream component.Assigned by:
- nvd@nist.gov (Primary)
- security-advisories@github.com (Secondary)
References for CVE-2022-31180
-
https://github.com/ericcornelissen/shescape/pull/324
Escaping for Unix shells after whitespace with `{interpolation:true}` by ericcornelissen · Pull Request #324 · ericcornelissen/shescape · GitHubPatch;Third Party Advisory
-
https://github.com/ericcornelissen/shescape/security/advisories/GHSA-44vr-rwwj-p88h
Insufficient escaping of whitespace · Advisory · ericcornelissen/shescape · GitHubExploit;Third Party Advisory
-
https://github.com/ericcornelissen/shescape/releases/tag/v1.5.7
Release Release v1.5.7 · ericcornelissen/shescape · GitHubRelease Notes;Third Party Advisory
-
https://github.com/ericcornelissen/shescape/pull/322
Escaping for PowerShell after whitespace with `{interpolation:true}` by ericcornelissen · Pull Request #322 · ericcornelissen/shescape · GitHubPatch;Third Party Advisory
-
https://github.com/ericcornelissen/shescape/releases/tag/v1.5.8
Release Release v1.5.8 · ericcornelissen/shescape · GitHubRelease Notes;Third Party Advisory
Jump to