Description
websocket-extensions ruby module prior to 0.1.5 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-ruby/commit/aa156a439da681361ed6f53f1a8131892418838b
https://github.com/faye/websocket-extensions-ruby/security/advisories/GHSA-g6wq-qcwm-j5g2
https://lists.debian.org/debian-lts-announce/2020/08/msg00031.html
https://snyk.io/vuln/SNYK-RUBY-WEBSOCKETEXTENSIONS-570830
https://usn.ubuntu.com/4502-1/
Related Vulnerabilities
CVE-2017-9803 Vulnerability in maven package org.apache.solr:solr-core
CVE-2019-1020007 Vulnerability in maven package org.dependencytrack:dependency-track
CVE-2021-25979 Vulnerability in npm package apostrophe
CVE-2021-34428 Vulnerability in maven package org.eclipse.jetty:jetty-server
CVE-2021-46320 Vulnerability in npm package @openzeppelin/contracts