
CVE-2020-7693: SockJS 0.3.19 – PoC di Denial of Service
SockJS v0.3.19 chiama res.end invece di res.write quando riceve richieste di upgrade websocket. Questo causa un Error [ERR_STREAM_WRITE_AFTER_END]: write after end che manda in crash il container che esegue l'app che utilizza SockJS vulnerabile.
Versioni vulnerabili interessate:
Questo POC è mirato alle app MeteorJS vulnerabili che eseguono SockJS su /sockjs. Per personalizzarlo per altre app web che eseguono SockJS, cambia i payload da /sockjs alle route corrispondenti gestite da SockJS.
Installa Python, poi esegui in cmd/terminale:
pip install requests
python poc.py --target <dominio>
È inclusa un'app Meteor demo che esegue il sockjs vulnerabile. Per testare l'exploit su questa app demo, installa Meteor da https://www.meteor.com/install e poi:
cd demo/
meteor
E poi punta il target del payload a http://localhost:3000
Aggiorna SockJS alla 0.3.20