
CVE-2020-7693: SockJS 0.3.19 Denial-of-Service-POC
SockJS v0.3.19 ruft res.end anstelle von res.write auf, wenn WebSocket-Upgrade-Anfragen empfangen werden. Dies verursacht einen Error [ERR_STREAM_WRITE_AFTER_END]: write after end, der den Container zum Absturz bringt, der die App mit dem verwundbaren SockJS ausführt.
Betroffene verwundbare Versionen:
Dieser POC richtet sich an verwundbare MeteorJS-Apps, die SockJS unter /sockjs ausführen. Zur Anpassung an andere Web-Apps, die SockJS ausführen, ändern Sie die Payloads von /sockjs auf die entsprechenden, von SockJS verwalteten Routen.
Python installieren, dann in cmd/Terminal ausführen:
pip install requests
python poc.py --target <domain>
Eine Demo-Meteor-App, die das verwundbare SockJS ausführt, ist enthalten. Um den Exploit an dieser Demo-App zu testen, installieren Sie Meteor von https://www.meteor.com/install und führen Sie dann Folgendes aus:
cd demo/
meteor
Richten Sie das Payload-Ziel anschließend auf http://localhost:3000 aus.
Aktualisieren Sie SockJS auf 0.3.20.