Description
websocket-extensions npm module prior to 0.1.4 allows Denial of Service (DoS) via Regex Backtracking. The extension parser may take quadratic time when parsing a header containing an unclosed string parameter value whose content is a repeating two-byte sequence of a backslash and some other character. This could be abused by an attacker to conduct Regex Denial Of Service (ReDoS) on a single-threaded server by providing a malicious payload with the Sec-WebSocket-Extensions header.
Remediation
References
https://blog.jcoglan.com/2020/06/02/redos-vulnerability-in-websocket-extensions
https://github.com/faye/websocket-extensions-node/commit/29496f6838bfadfe5a2f85dff33ed0ba33873237
https://github.com/faye/websocket-extensions-node/security/advisories/GHSA-g78m-2chm-r7qv
https://snyk.io/vuln/SNYK-JS-WEBSOCKETEXTENSIONS-570623
Related Vulnerabilities
CVE-2018-16459 Vulnerability in npm package exceljs
CVE-2020-14967 Vulnerability in maven package org.webjars.bowergithub.kjur:jsrsasign
CVE-2022-22968 Vulnerability in maven package org.springframework:spring-context
CVE-2023-49093 Vulnerability in maven package org.htmlunit:htmlunit
CVE-2023-3163 Vulnerability in maven package com.ruoyi:ruoyi-common