Показали су истраживачи Куалис-ове безбедности могућност експлоатације рањивост на кмаил маил серверу, познат од 2005 (ЦВЕ-2005-1513), али није исправљен од кмаил је тврдио да је нереално створити радни екплоит који би се могао користити за напад на системе у подразумеваној конфигурацији.
Али изгледа да су програмери кмаил-а погрешили су, пошто је Куалис успео да припреми подвиг што оповргава ову претпоставку и омогућава покретање даљинског извршавања кода на серверу слањем посебно израђене поруке.
Проблем настаје због преливања у функцији страллоц_реадиплус (), до којег може доћи приликом обраде веома велике поруке. За операцију је био потребан 64-битни систем са капацитетом виртуелне меморије већим од 4 ГБ.
У почетној анализи рањивости 2005. године, Даниел Бернстеин је тврдио да се претпоставка у коду да величина додељеног низа увек одговара 32-битној вредности заснива на чињеници да нико не даје гигабајт меморије за сваки процес .
У последњих 15 година 64-битни системи на серверима заменили су 32-битне системе, количина обезбеђене меморије и мрежни пропусни опсег драматично су се повећали.
Пакети који прате кмаил узели су у обзир Бернстеин-ов коментар и приликом покретања процеса кмаил-смтпд ограничили су доступну меморију (На пример, на Дебиану 10 ограничење је постављено на 7 МБ).
Али оно Куалисови инжењери су открили да то није довољно а поред кмаил-смтпд, даљински напад се може извршити и на кмаил-лоцал процесу, који је остао неограничен на свим тестираним пакетима.
Као доказ, припремљен је експлоатацијски прототип, што је погодно за напад на пакет који је испоручио Дебиан кмаил-ом у заданој конфигурацији. Да бисте организовали даљинско извршавање кода током напада, серверу је потребно 4 ГБ слободног простора на диску и 8 ГБ РАМ-а.
Екплоит омогућава извршење било које наредбе љуска са правима било ког корисника на систему, осим роот и системских корисника који немају свој поддиректоријум у директоријуму "/ хоме"
Напад се изводи слањем веома велике е-поруке, што укључује више линија у заглављу, приближно 4 ГБ и 576 МБ.
Приликом обраде поменуте линије у кмаил-лоцал До преливања целог броја долази када покушавате да испоручите поруку локалном кориснику. Целобројни прелив тада доводи до преливања међуспремника приликом копирања података и могућности преписивања меморијских страница либц кодом.
Такође, у процесу позивања кмесеарцх () у кмаил-лоцал, датотека ".кмаил-ектенсион" се отвара путем функције опен (), што доводи до стварног покретања система (". Кмаил-ектенсион" ). Али пошто се део датотеке „екстензија“ формира на основу адресе примаоца (на пример, „лоцалусер-ектенсион @ лоцалдомаин“), нападачи могу да организују почетак наредбе наводећи корисника „лоцалусер-;“ наредба; @лоцалдомаин »као примаоца поруке.
Анализа кода такође је открила две рањивости у додатној закрпи провјера кмаила, који је дио Дебиан пакета.
- Прва рањивост (ЦВЕ-2020-3811) омогућава заобилажење верификације адреса е-поште, а друга (ЦВЕ-2020-3812) доводи до локалног цурења информација.
- Друга рањивост се може користити за проверу присуства датотека и директорија на систему, укључујући оне доступне само за роот (кмаил-верифи започиње са роот привилегијама) директним позивом локалном управљачком програму.
За овај пакет припремљен је скуп закрпа, уклањајући старе рањивости из 2005. додавањем чврстих ограничења меморије коду аллоц () функције и новим проблемима у кмаил-у.
Поред тога, ажурирана верзија кмаил закрпе је припремљена одвојено. Програмери верзије ноткмаил припремили су своје закрпе за блокирање старих проблема, а такође су започели рад на уклањању свих могућих целобројних преливања у коду.
izvor: https://www.openwall.com/