Shescape: Quadratic-time denial of service in flag-protection
Default status is the baseline for the product, each version can override it (e.g. patched versions marked unaffected).
| Vendor | Product | Default status | Versions | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ericcornelissen | shescape | affected |
|
No data.
No data.
| Vendor | Product | Versions | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Ericcornelissen | Shescape |
|
| Source | ID | Title |
|---|---|---|
Github GHSA |
GHSA-gm3r-q2wp-hw87 | Shescape: Quadratic-time denial of service in the flag-protection |
No CVSS v3.1
No CVSS v3.0
No CVSS v2
This CVE is not in the KEV list.
Exploit prediction score: < 1% (0.590% probability within 30 days)
| Type | Values Removed | Values Added |
|---|---|---|
| Metrics |
ssvc
|
| Type | Values Removed | Values Added |
|---|---|---|
| First Time appeared |
Ericcornelissen
Ericcornelissen shescape |
|
| Vendors & Products |
Ericcornelissen
Ericcornelissen shescape |
| Type | Values Removed | Values Added |
|---|---|---|
| Description | Shescape is a simple shell escape library for JavaScript. From 2.1.11 until 2.1.14 and 3.0.1, the flag-protection loop in compose in src/internal/compose.js repeatedly joins and slices flag fragments when flagProtection is enabled, which is the default, making processing quadratic in input size across the escape, escapeAll, quote, and quoteAll APIs. An attacker who can supply a large untrusted input containing many flag fragments can consume CPU and cause denial of service. This issue is fixed in versions 2.1.14 and 3.0.1. | |
| Title | Shescape: Quadratic-time denial of service in flag-protection | |
| Weaknesses | CWE-400 CWE-407 |
|
| References |
|
|
| Metrics |
cvssV4_0
|