
Node.js ekotizimidagi jiddiy xavf: vm2 kutubxonasidagi xavfli zaifliklar masofaviy kod bajarilishiga yo‘l ochmoqda
So‘nggi vaqtlarda kiberxavfsizlik mutaxassislari tomonidan Node.js ekotizimida keng qo‘llaniladigan vm2 kutubxonasida aniqlangan bir qator tanqidiy zaifliklar dasturchilar hamda infratuzilma administratorlari orasida jiddiy xavotir uyg‘otdi. Tadqiqotchilar ushbu kutubxonada jami 11 ta xavfli zaiflik mavjudligini ma’lum qilib, ularning aksariyati “sandbox” himoyasini chetlab o‘tish va xost tizimida ixtiyoriy buyruqlarni bajarish imkonini berishini ta’kidladi. Eng xavotirli jihati shundaki, ayrim zaifliklar hozirgacha to‘liq bartaraf etilmagan.
vm2 nima va nega u muhim?
vm2 — bu Node.js uchun yaratilgan mashhur npm kutubxonasi bo‘lib, ishonchsiz yoki tashqi manbadan kelgan JavaScript kodlarini alohida himoyalangan muhitda ishga tushirish uchun qo‘llaniladi. Mazkur texnologiya:
- onlayn kod bajarish platformalari,
- CI/CD tizimlari,
- plagin mexanizmlari,
- ko‘p foydalanuvchili bulut xizmatlari,
- avtomatlashtirilgan test muhitlari
kabi ko‘plab tizimlarda faol ishlatiladi.
Kutubxonaning asosiy g‘oyasi oddiy: zararli kod sandbox ichida qolishi, xost tizimiga esa ta’sir o‘tkaza olmasligi kerak. Ammo aniqlangan yangi zaifliklar ushbu himoya modeli amalda yetarlicha ishonchli emasligini ko‘rsatdi.
Zaifliklarning mohiyati
Aniqlangan zaifliklarning deyarli barchasi “sandbox escape” — ya’ni himoyalangan virtual muhitdan chiqib ketish imkonini beradi. Bu esa hujumchiga:
- xost tizimida buyruqlar bajarish,
- server fayllariga kirish,
- maxfiy ma’lumotlarni o‘g‘irlash,
- boshqa xizmatlarni nazorat qilish,
- ayrim holatlarda root huquqini qo‘lga kiritish
imkoniyatini yaratadi.
Tadqiqotchilar zaifliklarning turli mexanizmlar orqali ishlashini qayd etdi. Jumladan:
- JavaScript prototip zanjirlarini manipulyatsiya qilish,
Promiseobyektlaridan noto‘g‘ri foydalanish,WebAssemblyistisno mexanizmlarini suiiste’mol qilish,Module._load()orqali cheklangan modullarni yuklash,DisposableStackvaSuppressedErrorkabi yangi imkoniyatlardan foydalanish
kabi usullar orqali himoya qatlamlari buzilgan.
Eng xavfli CVE’lar
Zaifliklar orasida ayrimlari ayniqsa xavfli deb baholanmoqda.
CVE-2026-24118
Ushbu zaiflik __lookupGetter__ mexanizmi orqali sandbox chegarasidan chiqib ketishga imkon beradi. Hujumchi xost tizimining ichki obyektlariga murojaat qilishi mumkin.
CVE-2026-24120
Promise species himoyasini chetlab o‘tuvchi ushbu zaiflik orqali child_process.execSync funksiyasi ishga tushiriladi va tizim buyruqlari bajariladi.
CVE-2026-24781
Node.js’ning util.inspect imkoniyatidan foydalanib, xost obyektlari ochib tashlanadi hamda vm2 proksi izolatsiyasi buziladi.
CVE-2026-26332
Node.js v24’da paydo bo‘lgan DisposableStack va SuppressedError mexanizmlaridan foydalanib, hujumchilar xostdagi Function obyektiga kirish imkoniga ega bo‘ladi.
CVE-2026-26956
Node.js v25 uchun aniqlangan ushbu zaiflik WebAssembly try_table instruktsiyasi orqali vm2 sanitizatsiya tizimini chetlab o‘tadi. Tadqiqotchilar ushbu usul bilan to‘liq root darajasidagi kod bajarilishini namoyish etgan.
CVE-2026-44008 va CVE-2026-44009
Eng xavfli zaifliklardan bo‘lgan ushbu ikki muammo hozircha yamalmagan. Ular massivlar (array species) va istisno mexanizmlaridan foydalanib, xost obyektlarini qayta tiklash hamda cheklanmagan Function constructor’ga kirish imkonini beradi.
Konfiguratsiyadagi xavfli xatolar
Mutaxassislar nafaqat koddagi nuqsonlar, balki noto‘g‘ri sozlamalar ham katta xavf tug‘dirishini ta’kidladi.
Xususan:
nesting: true
opsiyasi yoqilgan holatda, require: false himoyasi deyarli samarasiz bo‘lib qoladi. Natijada sandbox ichida yangi virtual muhitlar yaratilib, cheklovlar chetlab o‘tiladi.
Shuningdek:
['*', '-child_process']
kabi wildcard konfiguratsiyalar ham xavfli deb topildi. Chunki ayrim ichki modullar kutilmagan yo‘llar bilan yuklanishi mumkin.
Ta’sir doirasi
Zaifliklar vm2 kutubxonasining turli versiyalariga ta’sir qilmoqda. Ayrimlari 3.10.x versiyalarida tuzatilgan bo‘lsa-da, eng so‘nggi 3.11.1 versiyasigacha bo‘lgan tizimlarda ham yamalmagan zaifliklar mavjud.
Bu esa minglab servislar, SaaS platformalar va kod bajaruvchi tizimlar xavf ostida ekanini anglatadi.
Nima uchun bu hodisa muhim?
Mazkur voqea JavaScript asosidagi “sandbox” texnologiyalarining fundamental zaif tomonlarini yana bir bor ko‘rsatdi. Chunki vm2 sof dasturiy izolatsiyaga tayanadi. Ya’ni himoya operatsion tizim yoki yadro darajasida emas, JavaScript logikasi darajasida amalga oshiriladi.
Ammo zamonaviy JavaScript va Node.js imkoniyatlari tobora murakkablashib borayotgani sababli:
- yangi obyektlar,
- istisno mexanizmlari,
- WebAssembly funksiyalari,
- ichki modul tizimlari
kabi komponentlar orqali himoyani buzish usullari ham ko‘paymoqda.
Kiberxavfsizlik ekspertlari aynan shu sabab vm2 kabi yechimlar yuqori xavfsizlik talab qilinadigan muhitlar uchun yetarli emasligini qayd etmoqda.
Himoyalanish bo‘yicha tavsiyalar
Mutaxassislar quyidagi choralarni tavsiya qilmoqda:
1. Eng so‘nggi versiyaga yangilash
Mavjud yamalgan zaifliklardan himoyalanish uchun vm2 kutubxonasini kamida 3.11.1 versiyasigacha yangilash zarur.
2. vm2’dan voz kechishni ko‘rib chiqish
Yamalmagan zaifliklar mavjudligi sababli, ishonchsiz kod bajariladigan muhitlarda vm2’dan foydalanishni kamaytirish yoki butunlay to‘xtatish tavsiya etiladi.
3. Yadro darajasidagi izolatsiyaga o‘tish
Tadqiqotchilar quyidagi texnologiyalarni xavfsizroq muqobil sifatida tavsiya qilmoqda:
- Docker konteynerlari,
- gVisor,
- Firecracker microVM,
- Kata Containers,
- virtual mashinalar (VM)
kabi yadro yoki gipervizor darajasidagi izolatsiya tizimlari.
4. Xavfli konfiguratsiyalardan foydalanmaslik
Quyidagilarni imkon qadar o‘chirib qo‘yish kerak:
nesting: true- wildcard built-in modullar
- ortiqcha
requireruxsatlari
5. Qo‘shimcha monitoring va audit
Serverlarda:
- audit loglarini yoqish,
- g‘ayrioddiy child process faoliyatini kuzatish,
- WebAssembly ishlatilishini monitoring qilish,
- CI/CD muhitlarini segmentatsiya qilish
ham muhim himoya choralaridan hisoblanadi.
vm2 kutubxonasida aniqlangan zaifliklar zamonaviy dasturiy izolatsiya mexanizmlarining naqadar murakkab va nozik ekanini yana bir bor namoyish etdi. Bir vaqtlar xavfsiz deb qaralgan JavaScript sandbox modeli bugungi kunda tobora ko‘proq chetlab o‘tilmoqda.
Ayniqsa, masofaviy kod bajarish (RCE) imkonini beruvchi va hali yamalmagan zaifliklarning mavjudligi tashkilotlar uchun jiddiy xavf hisoblanadi. Shu sababli, xavfsizlikka jiddiy e’tibor qaratadigan kompaniyalar endilikda faqat dasturiy cheklovlarga emas, balki yadro darajasidagi izolatsiya texnologiyalariga tayanishi zarur.
Kiberxavfsizlik sohasidagi ushbu hodisa bitta muhim haqiqatni yana bir bor eslatmoqda: “sandbox” har doim ham mutlaq xavfsizlik degani emas.



