
PowerDNS’dagi xavfli zaiflik: TCP ulanishi orqali xizmatni ishdan chiqarish mumkin
Domen nomlarini boshqarishda keng qo‘llaniladigan PowerDNS tizimida jiddiy zaiflik aniqlandi. Bu zaiflik aynan DNSdist komponentiga taalluqli bo‘lib, xakerlarga maxsus ishlab chiqilgan TCP ulanishlari orqali xizmatni ishdan chiqarish, ya’ni DoS (Denial of Service) hujumini amalga oshirish imkonini beradi.
Mazkur zaiflik CVE-2025-30193 raqami bilan ro‘yxatga olingan bo‘lib, 7.5 ballik CVSS xavf darajasiga ega. Bu esa uning yuqori xavf toifasiga kirishini anglatadi. Ta’sir doirasi esa keng — 1.9.10 versiyasigacha bo‘lgan barcha DNSdist versiyalari ushbu muammoga duch kelgan.
DNSdist odatda DNS so‘rovlarini tez va xavfsiz boshqarish uchun ishlatiladi. U minglab TCP ulanishlarni bir vaqtda qayta ishlashga mo‘ljallangan. Ammo zaiflik shundaki, DNSdist ba’zi holatlarda bitta TCP ulanish orqali cheksiz so‘rovlarni qabul qilishga ruxsat beradi.
Agar setMaxTCPQueriesPerConnection
parametri sozlanmagan bo‘lsa, bu holat yuzaga keladi. Xakerlar aynan shundan foydalanib, ressurslar to‘liq band bo‘lishi va DNSdist ish faoliyatini to‘xtatish holatiga olib keladi. Bu hujumlar aynan dnsdist-tcp.cc modulida joylashgan noto‘g‘ri cheklovlar sababli amalga oshiriladi.
Bunda har bir TCP ulanishi uchun alohida fayl deskriptori yaratiladi, va tizim tezda ulanishlarga to‘lib, resurslar tugaydi. Natijada esa xizmat qulab tushadi.
Kimlar xavf ostida?
- DNSdist 1.9.10 versiyasidan oldingi foydalanuvchilar
- Tizimida TCP ulanishlar soniga cheklov qo‘yilmagan foydalanuvchilar
- Internet orqali ochiq ishlaydigan DNSdist instansiyalari
Xavfli jihati shundaki, bu zaiflikdan foydalanish uchun hech qanday autentifikatsiya talab etilmaydi — xakerlar masofadan turib erkin hujum qilishi mumkin.
PowerDNS tomonidan tavsiya etilgan asosiy yechim — DNSdist 1.9.10 versiyasiga darhol yangilanish. Bu versiyada nafaqat ushbu zaiflik tuzatilgan, balki quyidagi muhim yaxshilanishlar ham joriy qilingan:
- FreeBSD tizimlarida manba manzillarni yaxshilangan boshqaruvi
- TCP orqali chiqayotgan ulanishlar soniga chegaralar kiritilgan
- TCP-orqali ishlaydigan backendlar uchun keshlash muammolari hal qilingan
getAddressInfo
funksiyasidagi xotira buzilishi bartaraf etilgan
Agar hozircha yangilanishni o‘rnatish imkoniyati bo‘lmasa, vaqtincha chora sifatida quyidagi parametrni sozlash tavsiya etiladi:
setMaxTCPQueriesPerConnection(50)
Bu cheklov — har bir TCP ulanish uchun maksimal 50 ta so‘rovni belgilaydi. PowerDNS mutaxassislariga ko‘ra, bu son samaradorlikka ta’sir qilmasdan, zaiflikdan foydalanish imkoniyatini yo‘qqa chiqaradi.
DNS infratuzilmasi har qanday tashkilotning yuragidir. Uning uzluksiz ishlashi korxona faoliyatining uzviy qismiga aylanib ulgurgan. PowerDNS’dagi ushbu zaiflik esa oddiy TCP so‘rov orqali butun DNS xizmatini ishdan chiqarishga olib kelishi mumkin.
Shu sababli, DNS administratorlari zudlik bilan o‘z konfiguratsiyalarini ko‘zdan kechirishlari, ayniqsa TCP ulanishlar soni va so‘rovlar soniga cheklov qo‘yilgan-qo‘yilmaganini tekshirishlari, hamda imkon qadar tezroq DNSdist 1.9.10 versiyasiga yangilanishlari lozim.