
CVE-2020-7693: POC de denegación de servicio para SockJS 0.3.19
SockJS v0.3.19 llama a res.end en lugar de res.write al recibir solicitudes de actualización de websocket. Esto provoca un Error [ERR_STREAM_WRITE_AFTER_END]: write after end que bloquea el contenedor que ejecuta la aplicación que utiliza el SockJS vulnerable.
Versiones vulnerables afectadas:
Este POC está dirigido a aplicaciones MeteorJS vulnerables que ejecutan SockJS en /sockjs. Para personalizarlo para otras aplicaciones web que ejecutan SockJS, cambie los payloads de /sockjs a las rutas correspondientes gestionadas por SockJS.
Instale Python y luego ejecute en cmd/terminal:
pip install requests
python poc.py --target <domain>
Se ha incluido una aplicación Meteor de demostración que ejecuta el sockjs vulnerable. Para probar el exploit en esta aplicación de demostración, instale Meteor desde https://www.meteor.com/install y luego:
cd demo/
meteor
Y luego apunte el objetivo del payload a http://localhost:3000
Actualice SockJS a 0.3.20