مسئله و شرط وقوع
رکورد رسمی این آسیبپذیری در ۲۹ اکتبر ۲۰۲۶ منتشر شد. مشکل در تابع nvm_ls است؛ رشتهٔ نسخه وارد برنامهٔ sed میشود و جداسازی ناکافی داده از دستور میتواند رفتار ابزار را تغییر دهد. در سامانههای دارای GNU sed پیامد ممکن، اجرای فرمان با دسترسی همان کاربر است. در BSD sed نیز خواندن و نوشتن فایل در دامنهٔ دسترسی کاربر مطرح است. بنابراین تفاوت سیستمعامل، شکل پیامد را تغییر میدهد و مجوزهای حساب توسعهدهنده اهمیت مستقیم دارند.
شرط مهم، رسیدن رشتهٔ نسخهٔ تحت تأثیر مهاجم به توابع nvm و نصب بودن دستکم یک نسخهٔ Node است. رکورد به مسیرهای use، which، ls، version، run و exec و متغیر NODE_VERSION در nvm-exec اشاره میکند. این فهرست به معنای آسیبپذیر بودن هر استفادهٔ عادی از این فرمانها نیست؛ منشأ ورودی و نحوهٔ عبور آن تعیینکننده است.
نسخهها و تفاوت مهم nvmrc
نسخههای 0.31.2 تا 0.40.5 متأثرند و 0.40.6 مرز اصلاح ثبتشده است. تجزیهکنندهٔ داخلی فایل nvmrc توضیحات را حذف میکند؛ در نتیجه اجرای سادهٔ nvm use با سازوکار داخلی، همان سناریوی آسیبپذیر قلابها نیست. قلابهای تغییر خودکار نسخه در bash و zsh که متن فایل را بدون پردازش مناسب میخوانند، میتوانند با ورود کاربر به پوشهٔ پروژه ورودی خطرناک را عبور دهند. اسکریپتهای سازمانی که محتوای کامل فایل را مستقیماً به انتخاب نسخه میدهند نیز باید بازبینی شوند.
اصلاح 0.40.6 الگوهای دارای نویسهٔ ویژه یا خط جدید را ابتدا از پردازش محتوای nvmrc عبور میدهد. ارتقای خود Node.js این اصلاح را نصب نمیکند؛ nvm ابزار مستقلی است و ممکن است برای هر حساب کاربری جداگانه نصب شده باشد.
اقدام عملی برای تیم توسعه
پیشنهاد تحریریه این است که فهرست ایستگاههای توسعه، عاملهای ساخت و حسابهای سرویس دارای nvm تهیه شود. نسخهٔ ابزار در همان پوستهای بررسی شود که واقعاً ساخت را انجام میدهد. نصب جدید در یک حساب، پوستههای باز یا پوشهٔ نصب حساب دیگر را الزاماً تغییر نمیدهد. پس از ارتقا، پوستهٔ تازه باز کنید و انتخاب نسخه و اجرای آزمون معمول پروژه را تکرار کنید.
تا تکمیل ارتقا، قلاب تغییر خودکار پوشه را در کار با مخازن نامطمئن غیرفعال کنید و فایل تنظیم نسخه را پیش از استفاده مرور کنید. اعتماد به مخزن فقط به کد برنامه مربوط نیست؛ فایلهای پیکربندی که ابزار محلی میخواند هم بخشی از مرز اعتماد هستند. عامل ساختی که کد درخواست ادغام ناشناس را پردازش میکند نباید همزمان توکن انتشار یا کلید امضای قابلدسترسی داشته باشد.
بررسی پس از مواجهه
اگر پیش از اصلاح وارد مخزن مشکوک شدهاید، صرف نصب نسخهٔ جدید برای رد وقوع رخداد کافی نیست. تغییر فایلهای پوسته، فرایندهای غیرمعمول و استفاده از اعتبارنامههای همان حساب را بررسی کنید. اینها پیشنهادهای واکنش متناسب با امکان اجرای فرمان هستند، نه ادعای مشاهدهٔ حمله در سازمان شما. ثبت نسخهٔ جدید ابزار، وضعیت قلابها و نتیجهٔ ساخت آزمایشی، مدرک مناسبی برای بستن کار اصلاح است.
امتیاز و منابع
امتیاز ثبتشدهٔ CNA برابر 7.1 در CVSS 4.0 است. منبع امتیاز: harborist. بردار رسمی: CVSS:4.0/AV:L/AC:L/AT:P/PR:N/UI:A/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N. این امتیاز ادعای وقوع حمله یا حضور در فهرست KEV نیست.
- رکورد رسمی برنامهٔ CVE
- دادهٔ رسمی CNA؛ harborist
- مرجع اولیهٔ معرفیشده توسط CNA
- مرجع اولیهٔ معرفیشده توسط CNA
تصویر همراه نشان nvm-sh است و برای معرفی محصول یا سازنده استفاده میشود؛ تصویر حمله یا تأیید این گزارش توسط صاحب نشان نیست. بازبینی: ۲۹ اکتبر ۲۰۲۶.