Unknown · Faye-Websocket · CVE-2020-15134
**Nome do software vulnerável e versões afetadas**
Versões do Faye anteriores à 1.4.0
**Descrição**
O problema está relacionado à falta de validação de certificados nos handshakes TLS. O Faye utiliza o em-http-request e o faye-websocket, que dependem do método `EM::Connection#start tls` no EventMachine. Esse método não implementa a verificação de certificados por padrão, tornando qualquer conexão `https:` ou `wss:` vulnerável a um ataque man-in-the-middle. A primeira solicitação feita por um cliente Faye é enviada via HTTP normal, mas as mensagens posteriores podem ser enviadas via WebSocket, tornando-o vulnerável ao mesmo problema. Este problema foi corrigido no Faye v1.4.0, que habilita a verificação por padrão.
**Recomendações**
Para versões anteriores à 1.4.0, atualize para o Faye v1.4.0 para habilitar a verificação por padrão.
Como solução alternativa temporária, considere configurar a opção `tls` para verificar pares, por exemplo, em Ruby: `client = Faye::Client.new(‘https://example.com/’, tls: { verify peer: true })` ou em Node.js: `var client = new faye. Client(‘https://example.com/’, { tls: { ca: fs.readFileSync(‘path/to/certificate.pem’) } });`.
Se você precisar se comunicar com servidores cujos certificados não são reconhecidos pelos certificados raiz padrão, adicione o certificado deles ao conjunto de certificados raiz do seu sistema.