denoland/deno · Security
Regular Expression Denial of Service in Deno.upgradeWebSocket API
- GHSA ID
- GHSA-jc97-h3h9-7xh6
- CVE ID
- CVE-2023-26103
- Severity
- medium
- Published
- Updated
- CVSS
- 5.3 · CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L
- CVSS v3
- 5.3 · CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L
Description
Impact
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.
Patches
It is recommended that users upgrade to Deno 1.31.0.
CWEs
- CWE-1333 · Inefficient Regular Expression Complexity
References
- https://github.com/denoland/deno/security/advisories/GHSA-jc97-h3h9-7xh6 ↗
- https://nvd.nist.gov/vuln/detail/CVE-2023-26103 ↗
- https://github.com/denoland/deno/pull/17722 ↗
- https://github.com/denoland/deno/commit/cf06a7c7e672880e1b38598fe445e2c50b4a9d06 ↗
- https://github.com/denoland/deno/blob/2b247be517d789a37e532849e2e40b724af0918f/ext/http/01_http.js#L395-L409 ↗
- https://github.com/denoland/deno/releases/tag/v1.31.0 ↗
- https://security.snyk.io/vuln/SNYK-RUST-DENO-3315970 ↗
- https://github.com/advisories/GHSA-jc97-h3h9-7xh6 ↗