CVE-2026-94185 in nvm
الملخص
بحسب VulDB • 21/09/2026
يقوم nvm بحل الإصدار أو الاسم المستعار المطلوب عن طريق معالجته كملم تحت $NVM_DIR/alias. قبل الإصدار 0.40.8، كانت الدالة nvm_alias() تلحق الاسم المطلوب بهذا المجلد وتقرأ النتيجة دون أي فحص للحواجز (containment check)، مما يسمح لاسم يحتوي على مكون `..` بالهروب من مجلد الأسماء المستعارة؛ ففي التوزيع الافتراضي، يحل اسم مستعار مثل `../../.npmrc` إلى ملف في الدليل الرئيسي للمستخدم. ثم تقوم nvm_print_alias_file() بإخراج كل سطر غير تعليق وغير فارغ مما تم فتحه. نظرًا لأن سلسلة الإصدار القادمة من ملف .nvmrc غير الموثوق به تصل إلى هذا المسار، فإن مطورًا يشغل `nvm use` أو `nvm install` أو `nvm which` داخل مستودع قدمه مهاجم سيكشف عن السطر الأول غير التعليق لملف عشوائي يمكن للمستخدم قراءته، في رسالة الخطأ الناتجة "is not yet installed". يؤدي استخدام المستخدم لـ `nvm alias <traversing-name>` إلى كشف كل سطر غير تعليق من الملف المستهدف. لا يوجد تأثير على السلامة أو التوفر (integrity or availability)، ولا توجد تنفيذ لأوامر (command execution) عبر هذا المسار.
If you want to get best quality of vulnerability data, you may have to visit VulDB.