Metro4Shell: React Native’ning Metro serveridagi kritik zaiflik dasturchilarni nishonga olmoqda

Dasturchilar odatda ishlab chiqish muhitini (development environment) xavfsizlik nuqtayi nazaridan ishlab chiqarish (production) tizimlari bilan teng darajada baholamaydi. Ammo so‘nggi kuzatuvlar shuni ko‘rsatmoqdaki, tajovuzkorlar aynan shu e’tiborsiz qoladigan joyni nishonga olmoqda.

React Native ilovalarini yaratishda keng qo‘llaniladigan Metro Development Server’da aniqlangan CVE-2025-11953 zaifligi (norasmiy nomi — Metro4Shell) hozirda real hujumlarda faol ekspluatatsiya qilinmoqda. Ushbu zaiflik orqali hujumchilar Windows va Linux tizimlarida masofadan turib ixtiyoriy buyruqlarni bajarishi va murakkab zararli dasturlarni joylashtirishi mumkin.

VulnCheck’ning Canary honeypot tarmog‘i bu ekspluatatsiyani ilk bor 2025-yil 21-dekabrda qayd etdi. Shundan beri hujumlar uzluksiz davom etmoqda. Eng xavotirlisi — zaiflik jiddiyligiga qaramay, keng jamoatchilik orasida u hanuz “nazariy xavf” sifatida baholanmoqda.

Zaiflik mohiyati: oddiy endpoint, xavfli natija

Muammo @react-native-community/cli npm paketi bilan birga keladigan Metro serverining standart sozlamalarida yashiringan:

  • Server tashqi tarmoq interfeyslariga bog‘lanadi (external bind)
  • /open-url endpointi ochiq holda qoladi
  • Ushbu endpoint foydalanuvchi kiritgan qiymatni open npm paketidagi xavfsiz bo‘lmagan open() funksiyasiga uzatadi

Natijada OS command injection yuzaga keladi.

Bu degani, autentifikatsiyasiz tajovuzkor oddiy HTTP so‘rovi orqali tizimda istalgan buyruqni bajarishi mumkin.

  • Windows’da — to‘liq buyruq bajarish imkoniyati
  • Linux va macOS’da — bajariluvchi fayllarni ishga tushirish

Zaiflikning CVSS balli 9.8 (Critical) bo‘lsa-da, EPSS ko‘rsatkichi juda past baholangan. Amaliyot esa buning aksini ko‘rsatmoqda.

Ko‘p bosqichli murakkab hujum zanjiri

Tahlillar shuni ko‘rsatadiki, bu oddiy test yoki skanerlash emas, balki puxta rejalashtirilgan hujum kampaniyasidir.

Hujum quyidagi bosqichlarda amalga oshiriladi:

  1. cmd.exe orqali base64 bilan yashirilgan PowerShell skript ishga tushiriladi
  2. Skript Microsoft Defender’da istisno (exclusion) yo‘llarini qo‘shadi:
    • joriy papka
    • Windows vaqtinchalik papkasi (Temp)
  3. Tajovuzkor serveriga TCP ulanish o‘rnatiladi va keyingi bosqich yuklab olinadi
  4. Yuklangan fayl vaqtinchalik katalogga yozilib, uzun argumentlar bilan ishga tushiriladi
  5. Tahlil natijasida aniqlanishicha, bu UPX bilan siqilgan, Rust tilida yozilgan zararli dastur
  6. Dastur statik tahlilni qiyinlashtiruvchi anti-analiz mexanizmlariga ega

Xuddi shu infratuzilmada Linux uchun ham mos zararli yuklamalar joylashtirilgani aniqlangan. Bu esa kampaniyaning kross-platforma ekanini ko‘rsatadi.

Nega aynan dasturchilar nishonda?

Dasturchilar quyidagi xatolarga ko‘p yo‘l qo‘yadi:

  • Metro serverni lokal emas, tashqi interfeysga ochib qo‘yish
  • Development muhitini xavfsizlik devorlari bilan himoyalamaslik
  • Bu muhitni “muhim tizim” deb hisoblamaslik

Aslida esa:

Dasturchi kompyuteri — kompaniya infratuzilmasiga kirish uchun eng qulay nuqtadir.

Bu yerda Git tokenlar, SSH kalitlar, API kalitlar, bulutga kirish ma’lumotlari saqlanadi.

Himoyalanish choralari

  1. @react-native-community/cli paketini zudlik bilan 20.0.0 yoki undan yuqori versiyaga yangilash
  2. Metro serverni hech qachon tashqi tarmoqqa ochmaslik
  3. Development muhitini tarmoq segmentatsiyasi orqali ajratish
  4. /open-url endpointiga murojaatlarni monitoring qilish
  5. Antivirus istisno qoidalarini audit qilish
  6. Quyidagi zararli manzillarni bloklash

Komprometatsiya indikatorlari (IOC)

IP manzillar:

  • 65.109.182.231
  • 223.6.249.141
  • 134.209.69.155
  • 8.218.43.248
  • 47.86.33.195

Fayl xeshlari (SHA-256):

  • d8337df3aff749250557bf11daf069eb404cce0e6f4f91c6bd6d3f78aed6e9d6
  • 7ecbb0cc88dfa5f187c209a28bd25e8e2d5113bb898a91ae273bca5983130886

Muhim xulosa

Bu hodisa yana bir bor shuni isbotlaydi:

Tajovuzkorlar CISA ogohlantirishlarini yoki rasmiy bayonotlarni kutmaydi.

Zaiflik mavjud bo‘lgan zahoti u ekspluatatsiya qilinadi.

React Native bilan ishlovchi har bir tashkilot development muhitini ham ishlab chiqarish darajasida himoyalashi shart. Aks holda, oddiy Metro server butun infratuzilma uchun kirish eshigiga aylanishi mumkin.