pgAdmin’dagi o‘ta xavfli zaiflik: serverda masofadan buyruq bajarish imkoniyati paydo bo‘ldi

Ma’lumotlar bazasini boshqarish vositalari zamonaviy axborot tizimlarining yuragi hisoblanadi. Shu bois ulardagi har qanday xavfsizlik nuqsoni butun infratuzilma uchun jiddiy tahdid tug‘diradi. Yaqinda PostgreSQL uchun mashhur ochiq manbali boshqaruv vositasi — pgAdmin 4 dasturida aniqlangan o‘ta kritik zaiflik aynan shunday xavflardan biridir.

Zaiflik haqida qisqacha

Mazkur kamchilik CVE-2025-13780 identifikatori bilan qayd etilgan bo‘lib, u hujumchilarga serverda ixtiyoriy shell buyruqlarini bajarish imkonini beradi. Xavf darajasi juda yuqori bo‘lib, CVSS bahosi 9.9 ga teng.

Ta’sir qiluvchi holatlar:

Ko‘rsatkichTafsilot
CVE IDCVE-2025-13780
Zaiflik turiMasofaviy kod bajarish (RCE)
Ta’sir qiluvchi funksiyaPlain-text restore
Ta’sir qiluvchi versiyalarpgAdmin 4 (9.11 dan oldingi)
Hujum usuliMaxsus tayyorlangan SQL dump yuklash

Muammo qayerda yuzaga kelgan?

Zaiflik pgAdmin’ning plain-text restore funksiyasida aniqlangan. Ushbu funksiya SQL dump fayllarini yuklash va tiklash uchun ishlatiladi. Dastur xavfsizlikni ta’minlash maqsadida regex (muntazam ifoda) asosidagi matn filtri orqali zararli buyruqlarni aniqlashga uringan.

Mazkur filtr psql utilitasi orqali tizim buyruqlarini bajarishga urinishlarni bloklashi kerak edi. Biroq filtr juda qat’iy va yuzaki bo‘lib chiqdi.

Hujum qanday amalga oshirilgan?

EndorLabs tadqiqotchilari aniqlashicha, filtr faqat standart formatdagi zararli buyruqlarni aniqlagan, masalan:

  • yangi qatordan keyin darhol kelgan buyruqlarni.

Hujumchilar esa:

  • carriage return,
  • form feed,
  • yoki boshqa noodatiy bo‘sh belgilar

yordamida buyruqlarni “buzilgan” ko‘rinishda yashirgan. Natijada:

  • xavfsizlik filtri bunday satrlarni e’tiborsiz qoldirgan,
  • ammo psql bu buyruqlarni to‘liq va to‘g‘ri bajarib bergan.

Shu tariqa, maxsus tayyorlangan SQL faylni yuklash orqali hujumchi serverda ruxsatsiz shell skriptlarini ishga tushirish imkoniga ega bo‘lgan.

Oqibatlari qanchalik xavfli?

Mazkur zaiflikdan foydalanish orqali tajovuzkor:

  • server fayllarini o‘chirishi yoki o‘zgartirishi,
  • maxfiy ma’lumotlarni o‘g‘irlashi,
  • zararli dasturlarni joylashtirishi,
  • butun serverni to‘liq nazorat ostiga olishi

mumkin. Bu esa nafaqat ma’lumotlar bazasini, balki butun xost tizimini xavf ostiga qo‘yadi.

Muammo qanday bartaraf etildi?

EndorLabs xabari asosida pgAdmin ishlab chiquvchilari zaiflikni tezkor tarzda bartaraf etdi va 9.11-versiyani e’lon qildi. Ushbu versiyada xavfsizlikka yondashuv tubdan o‘zgartirildi.

Endi dastur:

  • zararli buyruqlarni matndan qidirib topishga emas,
  • balki psql darajasida xavfli funksiyalarni to‘liq o‘chirishga

asoslanadi.

Buning uchun \restrict buyrug‘i qo‘llanilib, restore jarayonida:

  • tizim buyruqlarini ishga tushirish,
  • tashqi amallarni bajarish

to‘liq taqiqlanadi. Bu yondashuv “yashirilgan matn” hiylalarini mutlaqo samarasiz qiladi.

Nima qilish kerak?

Barcha tizim administratorlari va tashkilotlarga quyidagilar qat’iy tavsiya etiladi:

  1. pgAdmin 4’ni darhol 9.11 yoki undan yuqori versiyaga yangilash
  2. Eski versiyalarda restore funksiyasini vaqtincha o‘chirish (agar yangilash imkoni bo‘lmasa)
  3. SQL dump fayllarni faqat ishonchli manbalardan qabul qilish
  4. pgAdmin serverini minimal huquqlar bilan ishlashga majbur qilish
  5. Server faoliyatini doimiy ravishda monitoring qilish

Ushbu holat yana bir bor shuni ko‘rsatadiki, faqat matn filtrlari orqali xavfsizlikni ta’minlash yetarli emas. Xavfsizlik mexanizmlari bajarilish darajasida nazorat qilinmasa, eng kichik kamchilik ham o‘ta xavfli hujumlarga yo‘l ochishi mumkin.

pgAdmin’dagi ushbu zaiflik ochiq manbali dasturlarni ham doimiy yangilab borish va to‘g‘ri sozlash zarurligini yana bir bor eslatadi. Aks holda, bitta SQL fayl butun serverni xavf ostiga qo‘yishi mumkin.