CVE-2020-15134: faye_project faye Improper Certificate Validation
Vulnerability summary
CVE-2020-15134 is a high (CVSS 8.7) Improper Certificate Validation vulnerability in faye_project faye. EPSS estimates a 0.86% chance of exploitation in the next 30 days, higher than 58.1% of scored vulnerabilities. 2 public exploits are recorded.
Timeline
- 31-07-2020PublishedVulnerability first disclosed.
- 04-08-2024Last modifiedVulnerability information updated.
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.
CVSS metrics
6 scores · 5 sources · 2 versions- CVE.orgCNA8.0HighCVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:C/C:H/I:H/A:NDiffers
- OSV · UbuntuEcosystem advisory · calculated8.7HighCVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:H/I:H/A:N
- OSV · DebianEcosystem advisory · calculated8.7HighCVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:H/I:H/A:N
- OSV · RubygemsEcosystem advisory · calculated8.0HighCVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:C/C:H/I:H/A:NDiffers
EPSS trend
Probability
0.86%
Chance of exploitation in the next 30 days
Percentile
58%
Versus all other CVEs
30-day change
0.00 pp
From 0.86% on 21-09-2026
Known exploited
Compare KEV catalogsNot in any of the 3 tracked catalogs.
Public exploits
2 foundFaye
Maturity: poc
Exploit Reference (blog.jcoglan.com)
Maturity: unknown
Weaknesses
CWE · root causeAffected systems
Debian1 product
- ruby-faye< 1.4.0-1
Faye1 product
- faye< 1.4.0
Faye_project1 product
- faye< 1.4.0
RubyGems1 product
- faye< 1.4.0
Ubuntu1 product
- ruby-fayeAll versions (No fix recorded)
5 vendors · 5 products
References
18 links- github.com/faye/faye/security/advisories/GHSA-3q49-h8f9-9fr9X Refsource CONFIRMREPORTWEBExploitThird Party Advisory
- blog.jcoglan.com/2020/07/31/missing-tls-verification-in-faye/X Refsource MISCREPORTExploitThird Party Advisory
Show all 18 references
- github.com/faye/fayePACKAGE