CVE-2020-15134 Missing TLS certificate verification in Faye

High 8.0 Published Updated

Faye library fails to verify TLS certificates, allowing man-in-the-middle attacks to intercept or modify data during WebSocket connections.

Exploited in the wild
Not known
Login needed
Not needed
Attackable
Over the internet
Victim action needed
A user has to click or open something
Fix
Available

What is CVE-2020-15134?

CVE-2020-15134 is a high-severity vulnerability in faye, published on 31 Jul 2020. An attacker can exploit it over the internet without logging in, and only if a user opens a file or follows a link.

Official description

Faye before version 1.4.0, there is a lack of certification validation in TLS handshakes. Faye uses em-http-request and faye-websocket in the Ruby version of its client. Those libraries both use 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 `https:` or `wss:` connection made using these libraries is vulnerable to a man-in-the-middle attack, since it does not confirm the identity of the server it is connected to. The first request a Faye client makes is always sent via normal HTTP, but later messages may be sent via WebSocket. Therefore it is vulnerable to the same problem that these underlying libraries are, and we needed both libraries to support TLS verification before Faye could claim to do the same. Your client would still be insecure if its initial HTTPS request was verified, but later WebSocket connections were not. This is fixed in Faye v1.4.0, which enables verification by default. For further background information on this issue, please see the referenced GitHub Advisory.

Weakness: CWE-295

Which versions are affected by CVE-2020-15134?

2 open source packages ship an affected version, including faye. It affects 1 product.

PackageAffectedFixed in
faye RubyGemsAll versions1.4.0
faye RubyGemsAll versions1.4.0

Products include Faye Project Faye.

How do I fix CVE-2020-15134?

Upgrade faye to 1.4.0 or later.

Is CVE-2020-15134 being exploited?

There is no known exploitation of CVE-2020-15134 in the wild and no public exploit code.

Sources

Also known as DEBIAN-CVE-2020-15134, GHSA-3q49-h8f9-9fr9, UBUNTU-CVE-2020-15134.

Is CVE-2020-15134 in your software?

Upload an SBOM and sbomify checks it against every vulnerability here, every day.

Check your SBOMs for free