Django’da aniqlangan ikki jiddiy zaiflik: SQL injeksiya va DoS hujumlari xavfi kuchaymoqda

Veb-dasturlash olamida eng ommabop frameworklardan biri bo‘lgan Djangoda ikki muhim xavfsizlik zaifligi aniqlangani ma’lum qilindi. Dasturchilar jamoasi ushbu muammolarni bartaraf etish uchun zaruriy xavfsizlik yangilanishlarini e’lon qildi. Zaifliklar biri – yuqori, ikkinchisi esa o‘rta xavflilik darajasiga ega bo‘lib, ular serverlarni jiddiy xavf ostida qoldirishi mumkin.

1. SQL injeksiya orqali bazaga zarar yetkazish xavfi (CVE-2025-13372)

Ushbu zaiflik PostgreSQL bazasidan foydalanadigan loyihalarga taalluqli bo‘lib, FilteredRelation klassida aniqlangan. Muammo aynan ustun aliaslari noto‘g‘ri qayta ishlanganda yuzaga keladi.

Hujumchi maxsus tuzilgan dictionary (lug‘at) dan foydalanib, QuerySet.annotate() yoki QuerySet.alias() funksiyalariga zararli ma’lumot uzatishi mumkin. Bu esa:

  • so‘rov ichiga zararli SQL kodini joylashtirish,
  • ma’lumotlar bazasining yaxlitligini buzish,
  • ma’lumotlarni o‘zgartirish yoki o‘chirib yuborish

kabi jiddiy oqibatlarga olib kelishi mumkin.

Mutaxassislar bu zaiflikni “yuqori xavf” toifasiga kiritib, darhol yangilanish o‘rnatishni qat’iy tavsiya qilmoqda.

2. XML serializer orqali DoS hujumi (CVE-2025-64460)

Ikkinchi zaiflik django.core.serializers.xml_serializer.getInnerText() metodida aniqlangan bo‘lib, u algoritmik murakkablik bilan bog‘liq muammodan kelib chiqadi.

Maxsus shakllantirilgan XML ma’lumotlar serializer tomonidan qayta ishlanganda:

  • satrlarni qayta-qayta birlashtirish,
  • jarayonning haddan tashqari cho‘zilishi,
  • CPU va xotira sarfining keskin oshishi

holatlari kuzatiladi. Bu esa serverning to‘liq sekinlashishi yoki ishdan chiqishiga olib keluvchi Denial-of-Service (DoS) hujumiga imkon yaratadi.

Mazkur zaiflik “o‘rta xavf” darajasida baholangan bo‘lsa-da, amaliyotda u jiddiy xizmat uzilishlariga sabab bo‘lishi mumkin.

Qaysi versiyalar ta’sirlangan?

Django jamoasi ushbu zaifliklar frameworkning barcha qo‘llab-quvvatlanayotgan versiyalariga ta’sir qilishini ma’lum qildi. Hatto yaqinlashib kelayotgan Django 6.0 (RC) ham bundan mustasno emas.

Xavfsizlikni ta’minlash uchun quyidagi versiyalar chiqarildi:

  • Django 5.2.9
  • Django 5.1.15
  • Django 4.2.27

Shuningdek, asosiy (“main”) branchdan foydalanayotgan ishlab chiquvchilarga ham oxirgi commitlarni yuklab olish tavsiya qilinmoqda.

Tavsiya va choralar

Django asosida ishlaydigan korxonalar, dasturchilar va IT-jamoalar quyidagi choralarga alohida e’tibor qaratishi zarur:

✔ Frameworkni darhol yangilang

Kerakli versiyaga o‘tish SQL injeksiya va DoS hujumlarining oldini olishning eng ishonchli yo‘lidir.

✔ XML asoslangan ma’lumotlarni cheklang

Noma’lum manbalardan kelayotgan XML kirish oqimlarini filtrlang yoki bloklang.

✔ Kod auditini kuchaytiring

Annotatsiya va alias funksiyalaridan foydalanayotgan loyihalarda qo‘shimcha static analysis o‘tkazing.

✔ Monitoringni faollashtiring

CPU va xotira ko‘rsatkichlaridagi g‘ayrioddiy o‘zgarishlar DoS hujumining ilk belgisi bo‘lishi mumkin.

Django’da aniqlangan CVE-2025-13372 va CVE-2025-64460 zaifliklari — zamonaviy veb-loyihalar xavfsizligiga jiddiy tahdid soluvchi muammolar hisoblanadi. SQL injeksiya orqali bazaning buzilishi yoki XML serializer orqali serverning ishdan chiqishi har qanday xizmat uchun katta xavf tug‘diradi.

Xavfsizlik yangilanishlarini o‘z vaqtida o‘rnatish — bugungi kunda har bir tashkilotning barqarorligi va ishonchliligini ta’minlashda eng muhim omil hisoblanadi.