CVE-2020-15133
Ruby vulnerability analysis and mitigation

Overview

The vulnerability (CVE-2020-15133) affects the Faye::WebSocket::Client class in faye-websocket versions prior to 0.11.0. The issue stems from the library's implementation of TLS handshake using EventMachine's EM::Connection#start_tls method, which by default does not verify server certificates for WebSocket Secure (wss:) connections (GitHub Advisory).

Technical details

The vulnerability occurs because the library does not implement certificate verification by default when establishing wss: connections. When using EM::Connection#start_tls method in EventMachine, the system fails to verify both the validity of the server's TLS certificate chain and the hostname matching for the presented certificate. This implementation gap exists despite EventMachine providing an extension point called ssl_verify_peer for certificate verification (Blog Post).

Impact

Any wss: connection made using this library is vulnerable to man-in-the-middle attacks since it does not confirm the identity of the server it is connected to. This means an attacker could potentially intercept and manipulate the secure WebSocket communications between the client and server (GitHub Advisory).

Exploitability

The vulnerability is highly exploitable in environments where an attacker can position themselves between the client and server. The lack of certificate verification means that any self-signed or invalid certificate would be accepted by the client, making it straightforward for an attacker to impersonate the legitimate server (Blog Post).

Mitigation and workarounds

The vulnerability was patched in version 0.11.0 of faye-websocket. The fix implements proper TLS verification by default and adds two new configuration options: tls.root_cert_file for specifying custom root certificates, and tls.verify_peer for controlling verification behavior. Users should upgrade to version 0.11.0 or later. There are no workarounds for earlier versions as the ssl_verify_peer implementation is required at the library level (GitHub Advisory).

Additional resources


SourceThis report was generated using AI

Related Ruby vulnerabilities:

CVE ID

Severity

Score

Technologies

Component name

CISA KEV exploit

Has fix

Published date

CVE-2026-55107CRITICAL10
  • Ruby logoRuby
  • kobako
NoYesAug 18, 2026
CVE-2026-61666HIGH8.9
  • Ruby logoRuby
  • websocket-driver
NoYesAug 17, 2026
CVE-2026-73648MEDIUM5.1
  • Ruby logoRuby
  • ruby3.4-rails-8.1
NoYesAug 13, 2026
CVE-2026-73426MEDIUM4.6
  • JavaScript logoJavaScript
  • action_text-trix
NoYesAug 18, 2026
CVE-2026-73428MEDIUM4.6
  • JavaScript logoJavaScript
  • action_text-trix
NoYesAug 13, 2026

Free Vulnerability Assessment

Benchmark your Cloud Security Posture

Evaluate your cloud security practices across 9 security domains to benchmark your risk level and identify gaps in your defenses.

Request assessment

Get a personalized demo

Ready to see Wiz in action?

"Best User Experience I have ever seen, provides full visibility to cloud workloads."
David EstlickCISO
"Wiz provides a single pane of glass to see what is going on in our cloud environments."
Adam FletcherChief Security Officer
"We know that if Wiz identifies something as critical, it actually is."
Greg PoniatowskiHead of Threat and Vulnerability Management