CVE Vulnerabilities

CVE-2020-15133

Improper Certificate Validation

Published: Jul 31, 2020 | Modified: Nov 21, 2024
CVSS 3.x
8.7
HIGH
Source:
NVD
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:H/I:H/A:N
CVSS 2.x
5.8 MEDIUM
AV:N/AC:M/Au:N/C:P/I:P/A:N
RedHat/V2
RedHat/V3
Ubuntu
MEDIUM
root.io logo minimus.io logo echo.ai logo

In faye-websocket before version 0.11.0, there is a lack of certification validation in TLS handshakes. The Faye::WebSocket::Client class uses the EM::Connection#start_tls method in EventMachine to implement the TLS handshake whenever a wss: URL is used for the connection. This method does not implement certificate verification by default, meaning that it does not check that the server presents a valid and trusted TLS certificate for the expected hostname. That means that any wss: connection made using this library is vulnerable to a man-in-the-middle attack, since it does not confirm the identity of the server it is connected to. For further background information on this issue, please see the referenced GitHub Advisory. Upgrading faye-websocket to v0.11.0 is recommended.

Weakness

The product does not validate, or incorrectly validates, a certificate.

Affected Software

NameVendorStart VersionEnd Version
Faye-websocketFaye-websocket_project*0.11.0 (excluding)
Ruby-faye-websocketUbuntufocal*
Ruby-faye-websocketUbuntugroovy*
Ruby-faye-websocketUbuntuhirsute*
Ruby-faye-websocketUbuntuimpish*
Ruby-faye-websocketUbuntukinetic*
Ruby-faye-websocketUbuntulunar*
Ruby-faye-websocketUbuntumantic*
Ruby-faye-websocketUbuntuoracular*
Ruby-faye-websocketUbuntuplucky*
Ruby-faye-websocketUbuntutrusty*

Potential Mitigations

References