Муҳаққиқони амният аз 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 мебошад, муайян карда шуданд. осебпазирии аввал (
Барои ҳалли мушкилот, Бернштейн тавсия дод, ки равандҳои qmail бо маҳдудияти умумии хотираи дастрас («softlimit -m12345678»), ки дар он ҳолат мушкилот баста мешавад. Ҳамчун як усули алтернативии муҳофизат, маҳдуд кардани андозаи максималии паёми коркардшуда тавассути файли "control/databytes" низ зикр шудааст (ба таври нобаёнӣ он бо танзимоти пешфарз сохта нашудааст qmail осебпазир боқӣ мемонад). Илова бар ин, "назорат/датабайтҳо" аз ҳамлаҳои маҳаллии корбарони система муҳофизат намекунад, зеро маҳдудият танҳо аз ҷониби qmail-smtpd ба назар гирифта мешавад.
Мушкилот ба баста таъсир мерасонад
Манбаъ: opennet.ru