осебпазирии дурдаст истифодашаванда дар сервери почтаи qmail

Муҳаққиқони амният аз Qualys нишон дод имконият истисмор осебпазирӣ дар сервери почтаи qmail, машҳур бозгашт дар соли 2005 (CVE-2005-1513), аммо часпак боқӣ монд, зеро муаллифи qmail изҳор дошт, ки эҷоди эксплоити корӣ, ки метавонад барои ҳамла ба системаҳо дар конфигуратсияи пешфарз истифода шавад, ғайривоқеист. Qualys тавонист истисмореро омода созад, ки ин фарзияро рад мекунад ва ба кас имкон медиҳад, ки тавассути фиристодани паёми махсус тарҳрезишуда иҷрои коди дурдаст дар сервер оғоз шавад.

Мушкилот аз зиёд шудани адад дар функсияи stralloc_readyplus() ба вуҷуд омадааст, ки ҳангоми коркарди паёми хеле калон метавонад рух диҳад. Амалиёт системаи 64-битро бо зиёда аз 4 ГБ хотираи виртуалӣ талаб мекард. Вақте ки осебпазирӣ дар соли 2005 бори аввал таҳлил карда шуд, Даниэл Ҷ. Бернштейн изҳор дошт, ки фарзия дар код, ки андозаи массиви ҷудошуда ҳамеша дар ҳудуди 32-бит аст, ба он асос ёфтааст, ки ҳеҷ кас ба ҳар як раванд гигабайтҳои хотираро таъмин намекунад. Дар тӯли 15 соли охир, системаҳои 64-битӣ дар серверҳо системаҳои 32-битро иваз карданд ва ҳаҷми хотираи додашуда ва фарохмаҷрои шабака ба таври назаррас афзоиш ёфт.

Нигоҳдорони бастаи qmail ёддошти Бернштейнро ба назар гирифта, ҳангоми оғози раванди qmail-smtpd хотираи дастрасро маҳдуд карданд (масалан, дар Debian 10 маҳдудият ба 7 МБ муқаррар шудааст). Аммо муҳандисони Qualys муайян карданд, ки ин кофӣ нест ва илова бар qmail-smtpd, метавонад ҳамлаи дурдаст ба раванди qmail-маҳаллӣ анҷом дода шавад, ки дар ҳама бастаҳои санҷидашуда бидуни маҳдудият боқӣ монд. Ҳамчун далел, як прототипи истисмор омода карда шуд, ки барои ҳамла ба бастаи Debian бо qmail дар конфигуратсияи пешфарз мувофиқ буд.
Барои ташкили иҷрои дурдасти код ҳангоми ҳамла, сервер 4 ГБ фазои озоди диск ва 8 ГБ RAM талаб мекунад.
Эксплоит ба шумо имкон медиҳад, ки ҳама гуна фармонҳои ҷилдиро бо ҳуқуқи ҳар як корбари система иҷро кунед, ба истиснои корбарони решавӣ ва система, ки дар директорияи "/home" зеркаталоги худро надоранд (раванди qmail-локалӣ бо ҳуқуқҳо оғоз мешавад) истифодабарандаи маҳаллӣ, ки ба он интиқол дода мешавад).

Ҳамла анҷом дода мешавад
тавассути фиристодани паёми хеле калон, аз ҷумла якчанд сатри сарлавҳа, андозагирии тақрибан 4 ГБ ва 576 МБ. Коркарди чунин сатр дар qmail-local боиси зиёд шудани ададҳои бутун ҳангоми кӯшиши расонидани паём ба корбари маҳаллӣ мегардад. Пас аз он, фаромадани ададҳои бутун ба фаромадани буфер ҳангоми нусхабардории додаҳо ва имкони дубора навиштани саҳифаҳои хотира бо рамзи libc оварда мерасонад. Тавассути коркарди тарҳбандии додаҳои интиқолшуда, инчунин метавон суроғаи функсияи "open()"-ро бо суроғаи функсияи "система()" иваз кард.

Минбаъд, дар ҷараёни занг задан ба qmesearch() дар qmail-local файли “.qmail-extension” тавассути функсияи open() кушода мешавад, ки ин боиси иҷрои воқеии функсия мегардад.
система (".qmail-extension"). Аммо азбаски қисми “васеъ”-и файл дар асоси суроғаи қабулкунанда тавлид мешавад (масалан, “localuser-extension@localdomain”), ҳамлагарон метавонанд бо нишон додани корбари “localuser-;command барои иҷро кардани фармон фиристода шаванд. ;@localdomain" ҳамчун қабулкунандаи паём.

Ҳангоми таҳлили код, инчунин ду осебпазирӣ дар ямаи иловагии qmail-verify, ки қисми бастаи Debian мебошад, муайян карда шуданд. осебпазирии аввал (CVE-2020-3811) ба шумо имкон медиҳад, ки тафтиши суроғаи почтаи электрониро гузаред ва дуюм (CVE-2020-3812) ба ифшои маълумотхои махаллй оварда мерасонад. Аз ҷумла, осебпазирии аввал ба шумо имкон медиҳад, ки аз санҷиши дурустии суроғае, ки дар истисмор барои фиристодани фармон истифода мешавад (тафтиш барои суроғаҳои бидуни домен кор намекунад, ба мисли “localuser-;command;”). Осебпазирии дуюмро метавон барои тафтиши мавҷудияти файлҳо ва директорияҳо дар система, аз ҷумла онҳое, ки танҳо ба реша дастрасанд (qmail-verify бо ҳуқуқи реша) тавассути занги мустақим ба коркардкунандаи маҳаллӣ истифода бурдан мумкин аст.

Барои ҳалли мушкилот, Бернштейн тавсия дод, ки равандҳои qmail бо маҳдудияти умумии хотираи дастрас («softlimit -m12345678»), ки дар он ҳолат мушкилот баста мешавад. Ҳамчун як усули алтернативии муҳофизат, маҳдуд кардани андозаи максималии паёми коркардшуда тавассути файли "control/databytes" низ зикр шудааст (ба таври нобаёнӣ он бо танзимоти пешфарз сохта нашудааст qmail осебпазир боқӣ мемонад). Илова бар ин, "назорат/датабайтҳо" аз ҳамлаҳои маҳаллии корбарони система муҳофизат намекунад, зеро маҳдудият танҳо аз ҷониби qmail-smtpd ба назар гирифта мешавад.

Мушкилот ба баста таъсир мерасонад netqmail, ба анбори Debian дохил карда шудааст. Барои ин баста маҷмӯи часбҳо омода карда шудааст, ки ҳам осебпазириҳои кӯҳнаро аз соли 2005 (бо илова кардани маҳдудиятҳои хотираи сахт ба рамзи функсияи alloc()) ва ҳам мушкилоти нав дар qmail-verify бартараф мекунад. Алоҳида омода кардааст версияи навшудаи ямоқи qmail-verify. Таҳиягарон филиалҳо notqmail часбҳои худро барои ҷилавгирӣ аз мушкилоти кӯҳна омода карданд ва инчунин барои бартараф кардани ҳама изофаҳои бутуни имконпазир дар код кор карданд.

Манбаъ: opennet.ru

Илова Эзоҳ