Description
Versions of the package deno before 1.31.0 are vulnerable to Regular Expression Denial of Service (ReDoS) due to the upgradeWebSocket function, which contains regexes in the form of /s*,s*/, used for splitting the Connection/Upgrade header. A specially crafted Connection/Upgrade header can be used to significantly slow down a web socket server.
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| — | deno | < 1.31.0 | 1.31.0 |
Affected packages
| Ecosystem | Package | Affected | Fixed | Record |
|---|---|---|---|---|
| crates.io | deno | >= 1.12.0, < 1.31.0 | 1.31.0 | GHSA-jc97-h3h9-7xh6 |
References
- https://security.snyk.io/vuln/SNYK-RUST-DENO-3315970
- https://github.com/denoland/deno/blob/2b247be517d789a37e532849e2e40b724af0918f/ext/http/01_http.js%23L395-L409
- https://github.com/denoland/deno/pull/17722
- https://github.com/denoland/deno/commit/cf06a7c7e672880e1b38598fe445e2c50b4a9d06
- https://github.com/denoland/deno/releases/tag/v1.31.0