
CVE-2020-7693: SockJS 0.3.19 إثبات مفهوم حجب الخدمة
SockJS v0.3.19 يستدعي res.end بدلاً من res.write عند استلام طلبات ترقية websocket. هذا يسبب Error [ERR_STREAM_WRITE_AFTER_END]: write after end مما يؤدي إلى انهيار الحاوية التي تشغّل التطبيق الذي يستخدم SockJS المعرض للخطر.
الإصدارات المتأثرة بالثغرة:
يستهدف إثبات المفهوم هذا تطبيقات MeteorJS المعرضة للخطر التي تشغّل SockJS على /sockjs. لتخصيصه لتطبيقات ويب أخرى تشغّل SockJS، غيّر الحمولات من /sockjs إلى المسارات المقابلة التي يديرها SockJS.
ثبّت Python، ثم شغّل في cmd/terminal:
pip install requests
python poc.py --target <domain>
تم تضمين تطبيق Meteor تجريبي يشغّل sockjs المعرض للخطر. لاختبار الاستغلال على هذا التطبيق التجريبي، ثبّت Meteor من https://www.meteor.com/install ثم:
cd demo/
meteor
ثم وجّه هدف الحمولة إلى http://localhost:3000
حدّث SockJS إلى 0.3.20