
Jinjava zaifligi: minglab saytlar xavf ostida — darhol yangilang!
HubSpot’ning ochiq manbali Jinjava shablon (template) dvigatelida jiddiy zaiflik topildi. Ushbu xato orqali hujumchilar serverdagi shablon (template) larni buzib, fayllarni o‘qishi, tashqi resurslarga so‘rov yuborishi (SSRF) yoki hatto masofadan kod ishga tushirishi (RCE) mumkin. Muammo Jinjava 2.8.1 dan oldingi versiyalarida mavjud.
Muammo nima?
Jinjava “sandbox” — shablonlarda xavfli operatsiyalarni bloklash uchun ishlatiladi. Lekin tadqiqotchilar shuni aniqlashdiki, ichki ____int3rpr3t3r____
o‘zgaruvchisi orqali faol JinjavaInterpreter olinib, ichidagi ObjectMapper.readValue
metodi chaqirilishi mumkin. Bu orqali hujumchi nazoratidagi ma’lumotni deserializatsiya qilib, java.net.URL
kabi sinflarni yaratishi, mahalliy fayllarni o‘qishi yoki boshqa zararli operatsiyalarni boshlashi mumkin.
Kimlar ta’sirlangan?
com.hubspot.jinjava:jinjava
kutubxonasining 2.8.1 dan kichik versiyalarini ishlatadigan barcha ilovalar xavf ostida.- Bu minglab veb-saytlar, CMSlar, email-shablon rendererlari va boshqa dinamik shablon ishlatuvchi tizimlarga taalluqli.
Ekspluatatsiya shartlari
- Hujum tarmoq orqali amalga oshirilishi mumkin — foydalanuvchi aralashuvi talab etilmaydi.
- Murakkablik past, huquq talab qilinmaydi — bu juda xavfli holat.
Darhol nima qilish kerak?
- Darhol yangilang. Jinjava’ni 2.8.1 yoki undan yangi versiyaga o‘rnating.
- Shablon kodini tekshiring.
____int3rpr3t3r____
ga murojaat qiluvchi joylar yoki ObjectMapper orqali deserializatsiya qilinadigan kodlarni topib, tuzating. - Jackson konfiguratsiyasini qat’iylashtiring. Default typing’ni o‘chirib, faqat ruxsat etilgan sinflarni (allowlist) ishlatish choralarini ko‘ring.
- Dependency’larni tekshiring. Loyihangizdagi kutubxona grafini ko‘zdan kechiring — boshqa komponentlar ham ObjectMapper’ni xavfsiz ishlatmayotgan bo‘lishi mumkin.
- Monitoring va test. Deserializatsiya chaqiriqlarini (runtime) kuzatish, SSRF va fayl-o‘qish hujumlarini test qilish uchun monitoring vositalarini yoqing.
Qisqa va tez checklist
- Jinjava versiyasini 2.8.1 ga yangilash.
- Shablon va kodda
____int3rpr3t3r____
tekshiruvi. - Jackson’da default typing o‘chirilsin va allowlist qo‘llansin.
- Dependency skanerdan o‘tkazish va boshqa riskli kutubxonalarni aniqlash.
- Runtime monitoring va regression testlarni o’tkazish.
Kichik bir sandbox zaifligi butun ilova infra-tuzilmasini xavf ostiga qo‘yishi mumkin. Tezkor yangilanish va kod auditi orqali bu tahdidni bartaraf etish mumkin