Qualys kompaniyasi
Muammo pochtani masofaviy pochta serveriga yetkazib beruvchi koddagi xatolik tufayli yuzaga keladi (kiruvchi ulanishlarni boshqaradigan kodda emas). Hujum mijoz tomonida ham, server tomonida ham mumkin. Mijoz tomonida, OpenSMTPD standart konfiguratsiyasida hujum qilish mumkin, bunda OpenSMTPD so'rovlarni faqat ichki tarmoq interfeysida (localhost) qabul qiladi va tashqi serverlarga pochta xabarlarini yuboradi. Zaiflikdan foydalanish uchun xatni yetkazib berish paytida OpenSMTPD tajovuzkor tomonidan boshqariladigan pochta serveri bilan seans o'rnatishi yoki tajovuzkor mijoz ulanishiga (MITM yoki DNS yoki BGP orqali hujumlar paytida qayta yo'naltirish) kirishi mumkin. ).
Server tomonidan hujum qilish uchun OpenSMTPD boshqa pochta serverlaridan tashqi tarmoq so'rovlarini qabul qilish yoki o'zboshimchalik bilan elektron pochtaga so'rov yuborish imkonini beruvchi uchinchi tomon xizmatlariga xizmat ko'rsatish uchun sozlanishi kerak (masalan, veb-saytlardagi manzilni tasdiqlash shakllari). Misol uchun, tajovuzkor OpenSMTPD serveriga ulanishi va noto'g'ri xat yuborishi mumkin (mavjud bo'lmagan foydalanuvchiga), bu esa tajovuzkor serveriga xato kodi (sakrash) bilan xat yuboradigan javobga olib keladi. OpenSMTPD tajovuzkor serveriga bildirishnoma yuborish uchun ulanganda tajovuzkor zaiflikdan foydalanishi mumkin. Hujum paytida kiritilgan qobiq buyruqlari OpenSMTPD qayta ishga tushirilganda ildiz huquqlari bilan bajariladigan faylga joylashtiriladi, shuning uchun tajovuzkor OpenSMTPD qayta ishga tushishini yoki hujumni yakunlash uchun OpenSMTPD ishdan chiqishini kutishi kerak.
Muammo ulanish o'rnatilgandan so'ng uzoq server tomonidan qaytarilgan ko'p qatorli javobni tahlil qilish kodidagi mta_io() funksiyasida mavjud (masalan, "250-ENHANCEDSTATUSCODES" va "250 HELP"). OpenSMTPD hisob-kitobiga ko'ra, birinchi qatorda "-" belgisi bilan ajratilgan uch xonali raqam va matn, ikkinchi qatorda esa bo'sh joy bilan ajratilgan uch xonali raqam va matn mavjud. Agar uch xonali raqamdan keyin ikkinchi qatorda boʻsh joy va matn boʻlmasa, matnni aniqlash uchun koʻrsatgich “\0” belgisidan keyin baytga oʻrnatiladi va oxiridan keyin maʼlumotlarni nusxalashga harakat qilinadi. chiziqdan buferga.
OpenBSD loyihasi talabiga koʻra, foydalanuvchilarga oʻz tizimlarini yangilash imkonini berish uchun zaiflikdan foydalanish haqidagi tafsilotlarni chop etish 26-fevralga qoldirildi. Muammo kodlar bazasida 2015-yil dekabr oyidan beri mavjud, ammo 2018-yilning may oyidan boshlab ildiz huquqlari bilan kodni bajarishdan oldin foydalanish mumkin edi. Tadqiqotchilar ekspluatatsiyaning ishchi prototipini tayyorladilar, u OpenBSD 6.6, OpenBSD 5.9, Debian 10, Debian 11 (sinov) va Fedora 31 uchun OpenSMTPD tuzilmalarida muvaffaqiyatli sinovdan o‘tkazildi.
OpenSMTPD da
Muammo to'liq bartaraf etishning natijasidir
Shunisi e'tiborga loyiqki, Fedora 31-da zaiflik ildiz guruhining imtiyozlarini darhol olish imkonini beradi, chunki smtpctl jarayoni setgid smtpq bayrog'i o'rniga setgid ildiz bayrog'i bilan jihozlangan. Ildiz guruhiga kirish orqali siz /var/lib/sss/mc/passwd tarkibini qayta yozishingiz va tizimga to'liq ildiz kirish huquqiga ega bo'lishingiz mumkin.
Manba: opennet.ru