
مختبر تعليمي يوضح CVE-2026-2964، وهي ثغرة تلوّث النموذج الأولي (prototype pollution) في web-audio-recorder-js تؤدي إلى تنفيذ التعليمات البرمجية عن بُعد (RCE). يتضمن خوادم معرّضة للثغرة وأخرى مُصلَحة، ونصوص إعداد، وحمولات هجومية للتدريب العملي على الأمن السيبراني.
يحتوي هذا المستودع على بيئة مختبرية كاملة لـ CVE‑2026‑2964، وهي ثغرة تلوث النموذج الأولي في مكتبة web‑audio‑recorder‑js والتي يمكن أن تؤدي إلى تنفيذ التعليمات البرمجية عن بُعد في ظل ظروف محددة.
يتضمن المختبر:
index-vulnerable.js) يوضح سلسلة الهجوم.index-fixed.js) يطبق التعقيم المناسب والتحقق من القائمة البيضاء.المتطلبات الأساسية:
npm (يأتي مع Node.js)curl (لتنزيل ملف المكتبة أثناء الإعداد)استنسخ المستودع وقم بتثبيت التبعيات:
git clone https://github.com/bughuntblueprint/cve-2026-2964-lab.git
cd cve-2026-2964-lab
npm install
سيقوم التثبيت تلقائيًا بتنزيل ملف WebAudioRecorder.js الأصلي من مستودع higuma على GitHub ووضعه في مجلد lib/.
إذا كنت تفضل تشغيل الإعداد يدويًا:
npm run setup
يعمل الخادم المعرض للثغرة على المنفذ 3000 وهو مُهيأ لقبول إعدادات يتحكم بها المستخدم تؤدي إلى تلوث النموذج الأولي.
node index-vulnerable.js
المخرجات المتوقعة:
Original WebAudioRecorder loaded successfully.
Server is running on http://localhost:3000
يمكنك الآن إرسال الطلبات إلى http://localhost:3000/api/audio/config. سيقوم الخادم بتسجيل جميع الحمولات الواردة والإشارة إلى ما إذا حدث التلوث.
يعمل الخادم المُصلح على المنفذ 3000 ويطبق كلاً من تعقيم المفاتيح بشكل متكرر وقائمة بيضاء لحظر أي مفاتيح خطيرة قبل وصولها إلى مُنشئ المكتبة. تأكد من تعديل package.json وتوجيه main إلى index-fixed.js
node index-fixed.js
المخرجات المتوقعة:
Original WebAudioRecorder loaded successfully.
Server is running on http://localhost:3000
هذا المختبر مخصص للأغراض التعليمية فقط. لا تقم بتشغيله على أنظمة الإنتاج أو ضد أي هدف دون إذن صريح. التقنيات المعروضة تهدف إلى مساعدة المطورين ومتخصصي الأمن على فهم الثغرة وتطبيق الدفاعات المناسبة.