
Django’da xavfli zaiflik: xakerlar SQL kodini ishga tushirishi mumkin
Mashhur Django freymvorkida xavfli zaiflik aniqlanib, butun dunyo bo‘ylab veb-serverlar xavf ostiga tushdi. Django ishlab chiquvchilari ushbu muammoni bartaraf etish uchun shoshilinch xavfsizlik yangilanishlarini chiqardi va barcha foydalanuvchilarni tizimlarini zudlik bilan yangilashga chaqirmoqda.
Zaiflik haqida
Zaiflikka CVE-2025-57833 identifikatori berilgan bo‘lib, u Django’ning FilteredRelation komponentida aniqlangan. Bu qism ORM (Object-Relational Mapping) tizimida ishlatiladi va dasturchilarga ma’lumotlar bazasi bilan qulay ishlash imkonini beradi.
Xakerlar maxsus shakllantirilgan dictionary obyektini QuerySet.annotate()
yoki QuerySet.alias()
metodlariga yuborish orqali zaiflikdan foydalanishlari mumkin. Natijada ular SQL injection hujumini amalga oshirib, ilova bazasiga yuborilayotgan so‘rovlarni o‘zgartirib yuborishadi.
Nega xavfli?
SQL injection — kiberxavfsizlik sohasidagi eng xavfli hujumlardan biri hisoblanadi. Chunki u orqali:
- maxfiy ma’lumotlarni ko‘rish, o‘zgartirish yoki o‘chirish;
- ma’lumotlar bazasini to‘liq nazoratga olish;
- ba’zi hollarda esa butun server ustidan to‘liq boshqaruvni qo‘lga kiritish mumkin.
Django ushbu zaiflikni “Yuqori xavf” toifasiga kiritgan.
Qaysi versiyalar ta’sirlangan?
Zaiflik keng ko‘lamli bo‘lib, Django’ning quyidagi faol qo‘llab-quvvatlanayotgan versiyalarida mavjud:
- Django 5.2 tarmog‘i;
- Django 5.1 tarmog‘i;
- Django 4.2 (Uzoq muddatli qo‘llab-quvvatlash — LTS).
Xavfsizlikni ta’minlash uchun quyidagi yangilanishlar chiqarildi:
- Django 5.2.6
- Django 5.1.12
- Django 4.2.24
Muammoning aniqlanishi va yechim
Zaiflikni xavfsizlik tadqiqotchisi Eyal Gabay (EyalSec) aniqlagan va bu haqda mas’uliyatli tarzda xabar bergan. Django jamoasi esa muammoni barcha faol tarmoqlarda tezkorlik bilan tuzatdi.
Bu jarayon yana bir bor Django’ning xavfsizlik siyosati qanday samarali ishlashini ko‘rsatdi:
- zaiflik ommaga oshkor qilinishidan oldin ishlab chiqaruvchilar ogohlantirildi;
- ishlab chiquvchilar uchun yangilanishlar bir vaqtning o‘zida chiqarildi;
- foydalanuvchilar xavfli davrni imkon qadar qisqa vaqt ichida o‘tkazishdi.
Tavsiyalar
Django’dan foydalanayotgan barcha ishlab chiquvchilar va tizim administratorlari:
- o‘z loyihalarini tekshirib chiqishlari;
- PyPI yoki rasmiy Git repozitoriy orqali eng so‘nggi yangilanishlarni o‘rnatishlari;
- SQL injection hujumlarining oldini olish uchun muntazam monitoring va xavfsizlik testlarini amalga oshirishlari shart.
Bugungi kunda har qanday dasturiy ta’minot — hatto mashhur va keng tarqalgan Django kabi freymvorklar ham zaifliklardan xoli emas. Doimiy yangilanish, xavfsizlik yamoqlarini tezkor o‘rnatish va xavfsizlikka e’tibor — ishlab chiquvchilar hamda tashkilotlar uchun eng muhim qoidaga aylanishi lozim.