
إثبات مفهوم يوضح حالة سباق في حزمة tar npm (الإصدار 7.5.3) تسبب تصادمات في الملفات أثناء الاستخراج المتوازي، مما يؤدي إلى تلف البيانات أو الكتابة فوقها.
إثبات المفهوم لـ CVE-2026-23950 - ثغرة حالة سباق في حزمة tar.
يُظهر هذا المستودع ثغرة حالة سباق في حزمة tar npm (الإصدار 7.5.3) تسمح بتصادم الملفات أثناء الاستخراج. تستغل الثغرة الاختلافات في التوحيد القياسي لـ Unicode حيث يمكن معاملة collision_ss وcollision_ß كملف واحد بسبب التصادمات غير الحساسة لحالة الأحرف.
ينشئ الاستغلال أرشيف tar يحتوي على ملفين:
collision_ss - يحتوي على 1000 حرف 'A'collision_ß - يحتوي على 1000 حرف 'B'عند الاستخراج مع تفعيل المعالجة المتوازية (jobs: 8)، يمكن أن تتسبب حالة السباق في تصادم هذين الملفين، مما يؤدي إلى:
npm install
node index.js
إذا تم استغلال حالة السباق بنجاح:
[*] GOODإذا لم يتم تفعيل الثغرة:
[-] No collisionيمكن أن تؤدي هذه الثغرة إلى:
قم بالتحديث إلى إصدار مصحح من حزمة tar عند توفره.
هذا الكود لأغراض تعليمية وبحثية فقط. لا تستخدم هذا الاستغلال لأغراض ضارة.