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-2013-7285 Vulnerability in maven package com.thoughtworks.xstream:xstream
CVE-2022-24785 Vulnerability in maven package org.webjars.bowergithub.moment:moment
CVE-2023-36472 Vulnerability in npm package @strapi/plugin-content-manager
CVE-2019-16869 Vulnerability in maven package io.netty:netty-codec-http
CVE-2022-24891 Vulnerability in maven package org.owasp.esapi:esapi