
AdonisJS’da kritik zaiflik: masofaviy hujumchilar serverga fayl yozishi mumkin
Zamonaviy veb-ilovalar tezkorlik va qulaylikni birinchi o‘ringa qo‘yayotgan bir paytda, xavfsizlik masalalari ham shunchalik muhim ahamiyat kasb etmoqda. Yaqinda ommabop AdonisJS veb-freymvorkida aniqlangan jiddiy zaiflik bunga yorqin misol bo‘la oladi. Ushbu kamchilik noto‘g‘ri sozlangan fayl yuklash mexanizmi orqali masofadan turib server fayl tizimiga ixtiyoriy fayl yozish imkonini beradi.
Mazkur zaiflik CVE-2026-21440 identifikatori ostida qayd etilgan bo‘lib, CVSS v4 bo‘yicha “Critical” (juda yuqori xavf) darajasiga ega. Bu esa ushbu xato real sharoitda server to‘liq komprometatsiyasiga olib kelishi mumkinligini anglatadi.
Zaiflikning texnik mohiyati
Muammo AdonisJS’ning TypeScript asosida yozilgan mashhur komponentlaridan biri — @adonisjs/bodyparser paketidagi multipart/form-data fayllarni qayta ishlash mexanizmida joylashgan. Xususan, MultipartFile.move() metodi standart sozlamalarda foydalanuvchi tomonidan yuborilgan fayl nomini yetarli darajada tozalamasdan (sanitize qilmasdan) qabul qiladi.
Natijada hujumchi fayl nomiga ../ kabi path traversal ketma-ketliklarini qo‘shish orqali yuklangan faylni belgilangan katalogdan tashqariga chiqarib, serverning istalgan joyiga yozib qo‘yishi mumkin.
Bu zaiflik CWE-22 (Path Traversal) turiga mansub bo‘lib, veb-ilovalar uchun eng xavfli xatolardan biri hisoblanadi.
Hujum ssenariysi va xavf darajasi
Agar ilovada tashqi foydalanuvchilar uchun ochiq fayl yuklash endpointi mavjud bo‘lsa va u MultipartFile.move() metodidan qo‘shimcha tekshiruvlarsiz foydalanayotgan bo‘lsa, hujumni amalga oshirish murakkab emas.
Eng xavfli jihati shundaki, standart konfiguratsiyada:
- fayllarni ustidan yozishga ruxsat berilgan;
- fayl nomlari qat’iy cheklanmagan;
- server huquqlari keng bo‘lsa, hujumchi:
- konfiguratsiya fayllarini,
- ishga tushirish skriptlarini,
- hatto ilova kodlarini ham almashtirishi mumkin.
Bu holatda Remote Code Execution (RCE) — ya’ni serverda masofadan buyruq bajarish ehtimoli juda yuqori bo‘ladi.
Ta’sirlangan versiyalar
Mazkur zaiflik quyidagi versiyalarga ta’sir ko‘rsatadi:
- @adonisjs/bodyparser ≤ 10.1.1
- @adonisjs/bodyparser ≤ 11.0.0-next.5 (pre-release)
Zaiflikni GitHub platformasi orqali Wodzen taxallusli xavfsizlik tadqiqotchisi aniqlagan va mas’uliyat bilan xabar qilgan.
Tuzatishlar va tavsiyalar
AdonisJS ishlab chiquvchilari ushbu muammoni tezkorlik bilan bartaraf etib, xavfsizlik yangilanishlarini e’lon qildi. Xususan:
- 10.1.2 versiyasi
- 11.0.0-next.6 versiyasi
Ushbu relizlarda fayl nomlarini xavfsiz qayta ishlash mexanizmlari kuchaytirilgan.
⚠️ Muhim tavsiyalar:
- Zudlik bilan bodyparser paketini yangilang;
- Fayl yuklash endpointlarini auditdan o‘tkazing;
- Fayl nomlarini qo‘lda sanitize qilish mexanizmlarini joriy eting;
- Fayl tizimiga yozish huquqlarini minimal darajada cheklang;
- Yuklangan fayllarni ilova kataloglaridan tashqarida saqlang.
CVE-2026-21440 zaifligi yana bir bor shuni ko‘rsatadiki, fayl yuklash funksiyalari — veb-ilovalardagi eng xavfli komponentlardan biri bo‘lib qolmoqda. Hatto zamonaviy va ishonchli freymvorklarda ham noto‘g‘ri standart sozlamalar jiddiy xavflarga olib kelishi mumkin.
AdonisJS’dan foydalanayotgan tashkilotlar va ishlab chiquvchilar ushbu zaiflikni jiddiy qabul qilishi, tezkor yangilanishlar va qo‘shimcha himoya choralarini ko‘rishi zarur. Chunki bitta e’tiborsiz qoldirilgan fayl — butun server taqdirini hal qilishi mumkin.



