Yn gweinydd post Exim
Yn y cyfluniad diofyn, gall defnyddiwr lleol gyflawni'r ymosodiad heb gymhlethdodau diangen, gan fod yr ACL "verify = derbynnydd" yn cael ei gymhwyso, sy'n cynnal gwiriadau ychwanegol ar gyfer cyfeiriadau allanol. Gall ymosodiad o bell ddigwydd pan fydd gosodiadau'n cael eu newid, megis gweithredu fel MX eilaidd ar gyfer parth arall, dileu'r ACL "verify=recipient", neu newidiadau penodol i local_part_suffix). Mae ymosodiad o bell hefyd yn bosibl os yw'r ymosodwr yn gallu cadw'r cysylltiad Γ’'r gweinydd ar agor am 7 diwrnod (er enghraifft, anfon un beit y funud i osgoi terfyn amser). Ar yr un pryd, mae'n bosibl bod yna fectorau ymosodiad symlach ar gyfer ecsbloetio'r broblem o bell.
Mae'r bregusrwydd yn cael ei achosi gan ddilysiad anghywir o gyfeiriad y derbynnydd yn y swyddogaeth deliver_message() a ddiffinnir yn y ffeil /src/deliver.c. Trwy drin y fformat cyfeiriad, gall ymosodwr gyflawni amnewid ei ddata i ddadleuon gorchymyn a elwir trwy'r swyddogaeth execv() gyda hawliau gwraidd. Nid yw gweithrediad yn gofyn am ddefnyddio technegau cymhleth a ddefnyddir ar gyfer gorlifoedd clustogi neu lygredd cof; mae amnewid nodau syml yn ddigon.
Mae'r broblem yn gysylltiedig Γ’'r defnydd o'r lluniad ar gyfer trosi cyfeiriad:
deliver_localpart = expand_string(
string_sprintf( "${local_part:%s}", new->cyfeiriad));
deliver_domain = ehangu_llinyn (
string_sprintf( "${domain:%s}", new->cyfeiriad));
Mae'r swyddogaeth expand_string() yn gyfuniad gor-gymhleth, gan gynnwys adnabod y gorchymyn β${run{command arguments}β, sy'n arwain at lansio triniwr allanol. Felly, i ymosod o fewn sesiwn SMTP, dim ond gorchymyn fel 'RCPT TO "username +${run{...}}@localhost"' sydd ei angen ar ddefnyddiwr lleol, lle mae localhost yn un o'r gwesteiwyr o'r rhestr parthau_lleol, ac enw defnyddiwr yw enw defnyddiwr lleol presennol.
Os yw'r gweinydd yn gweithio fel cyfnewid post, mae'n ddigon i anfon y gorchymyn 'RCPT TO "${run{...}}@relaydomain.com"' o bell, lle mae relaydomain.com yn un o'r gwesteiwyr a restrir yn y relay_to_domains adran gosodiadau. Gan nad yw Exim yn rhagosod i ollwng modd braint (deliver_drop_privilege = ffug), bydd gorchmynion a basiwyd trwy "${run{...}}" yn cael eu gweithredu fel gwraidd.
Mae'n werth nodi bod y bregusrwydd
Mae atgyweiriad ar gyfer fersiynau blaenorol sy'n parhau i gael eu defnyddio mewn dosraniadau ar gael ar hyn o bryd fel
Ffynhonnell: opennet.ru