
CVE-2020-7693: SockJS 0.3.19 Negação de Serviço POC
O SockJS v0.3.19 chama res.end em vez de res.write ao receber solicitações de upgrade de websocket. Isso causa um Error [ERR_STREAM_WRITE_AFTER_END]: write after end que derruba o contêiner que executa o aplicativo que utiliza o SockJS vulnerável.
Versões vulneráveis afetadas:
Este POC é direcionado a aplicativos MeteorJS vulneráveis que executam SockJS em /sockjs. Para personalizar para outros apps web que executam SockJS, altere os payloads de /sockjs para as rotas correspondentes gerenciadas pelo SockJS.
Instale o Python e execute no cmd/terminal:
pip install requests
python poc.py --target <domain>
Um aplicativo Meteor de demonstração executando o sockjs vulnerável foi incluído. Para testar o exploit neste app de demonstração, instale o Meteor em https://www.meteor.com/install e então:
cd demo/
meteor
E então aponte o payload alvo para http://localhost:3000
Atualize o SockJS para 0.3.20