Mashhur NPM kutubxonasida jiddiy zaiflik: AI va NLP ilovalari masofadan boshqaruvga ochiq qoldi

Dunyo bo‘ylab sun’iy intellekt (AI) va tabiiy tilni qayta ishlash (NLP) bo‘yicha ishlanayotgan yuzlab loyihalar xavf ostida qolmoqda. Sabab — expr-eval nomli keng qo‘llaniladigan npm kutubxonasida aniqlangan jiddiy zaiflik. Ushbu zaiflik CVE-2025-12735 identifikatoriga ega bo‘lib, tajovuzkorga masofadan turib dastur ichida ixtiyoriy kod bajarish imkonini beradi.

📌 Zaiflikning mohiyati

expr-eval — JavaScript dasturlash tilida matematik ifodalarni xavfsiz qayta ishlash uchun mo‘ljallangan kutubxona. U odatda JavaScript’ning xavfli eval() funksiyasiga muqobil sifatida ishlatiladi. Ammo Carnegie Mellon universiteti tadqiqotchilari aniqlashicha, ushbu kutubxona matematik ifodalarni qayta ishlash jarayonida hujumchiga:

  • kontekst obyektiga ixtiyoriy funksiyalar kiritish,
  • system-level buyruqlarni bajarish,
  • server yoki ish muhiti ustidan to‘liq nazorat o‘rnatish

imkoniyatini berar ekan.

Bu holat Remote Code Execution (RCE) — tizimga masofadan kirib, kod bajarish hujumiga olib keladi. SSVC xavfsizlik baholash modeliga ko‘ra, ushbu zaiflik “Total Technical Impact” darajasiga ega, ya’ni tajovuzkor qurilmadagi barcha tizim ma’lumotlarini ko‘ra oladi va dastur ishini to‘liq boshqarishi mumkin.

🌐 Zaiflik kimlarga ta’sir qiladi?

Kutubxonadan 250 dan ortiq boshqa paketlar foydalanadi, ular qatorida:

  • oplangchain — LangChain’ning JavaScript versiyasi
  • ko‘plab AI va NLP avtomatlashtirish modullari

Bu esa, ayniqsa, generativ AI ishlari bilan shug‘ullanayotgan startaplar va xizmat ko‘rsatish platformalarini xavf ostida qoldiradi. AI serverlari ko‘pincha lokal resurslarga, ma’lumotlar bazalariga yoki maxfiy fayllarga kirish huquqiga ega bo‘ladi. Hujumchi esa bu imkoniyatdan foydalanib, serverga zarar yetkazishi, ma’lumotlarni o‘g‘irlashi yoki ilovani boshqarishi mumkin.

✅ Xavfsizlik yechimi

Zaiflik tuzatilgan:
➡️ expr-eval-fork 3.0.0 versiyasiga yangilang

Yangi versiyada quyidagi himoya mexanizmlari joriy qilingan:

  • faqat ruxsat etilgan (allowlist) funksiyalarni ishlatish,
  • foydalanuvchi funksiyalarini ro‘yxatdan o‘tkazish majburiyligi,
  • testlar bazasi kengaytirilgan va xavfsizlik cheklovlari kuchaytirilgan.

Patch GitHub’dagi Pull Request #288 orqali biriktirilgan.

Shuningdek, tashkilotlar o‘z loyiha kodlarini tekshirish uchun:

npm audit

buyrug‘idan foydalanishlari mumkin. Bu zaiflikni avtomatik aniqlab, ogohlantirish beradi.

🛡️ Xulosa

Bugungi kunda AI va NLP qurilmalari nafaqat murakkab algoritmlar, balki xavfsizlik bilan ham chambarchas bog‘liq. Oddiy matematik ifodalarni qayta ishlovchi kutubxona orqali ham butun tizim boshqaruvini qo‘lga olish mumkinligi — bunga yaqqol misol.

Tavsiyalar:

  • expr-eval yoki expr-eval-fork kutubxonasidan foydalanayotgan bo‘lsangiz — darhol yangilashni amalga oshiring.
  • Har qanday foydalanuvchi kiritgan ifodalarni filtrlash va chegaralash qoidalariga amal qiling.
  • Loyihada xavfsizlik auditini doimiy o’tkazing: npm audit, dependabot va boshqa vositalardan foydalaning.

Yagona sustlik — katta zarar keltirishi mumkin. Xavfsizlik — faqat bir marta emas, doimiy jarayon.