Vulnerabbiltà sfruttabbli mill-bogħod fis-server tal-posta qmail

Riċerkaturi tas-sigurtà minn Qualys wera opportunità sfruttament vulnerabbiltajiet fis-server tal-posta qmail, famuż lura fl-2005 (CVE-2005-1513), iżda baqgħet mhux irranġata minħabba li l-awtur ta 'qmail argumenta li ma kienx realistiku li jinħoloq sfruttament ta' ħidma li jista 'jintuża biex jattakka sistemi fil-konfigurazzjoni default. Qualys kien kapaċi jipprepara sfruttament li jirrifjuta din is-suppożizzjoni u jippermetti li wieħed jibda l-eżekuzzjoni remota tal-kodiċi fuq is-server billi jibgħat messaġġ iddisinjat apposta.

Il-problema hija kkawżata minn overflow ta 'numru sħiħ fil-funzjoni stralloc_readyplus(), li jista' jseħħ meta jiġi pproċessat messaġġ kbir ħafna. It-tħaddim kien jeħtieġ sistema ta’ 64 bit b’aktar minn 4GB ta’ memorja virtwali. Meta l-vulnerabbiltà kienet oriġinarjament analizzata fl-2005, Daniel J. Bernstein argumenta li s-suppożizzjoni fil-kodiċi li d-daqs tal-firxa allokata huwa dejjem fil-valur ta '32-bit hija bbażata fuq il-fatt li ħadd ma jipprovdi gigabytes ta' memorja għal kull proċess. Matul l-aħħar 15-il sena, sistemi ta '64-bit fuq servers ħadu post is-sistemi ta' 32-bit, u l-ammont ta 'memorja fornuta u bandwidth tan-netwerk żdiedu b'mod drammatiku.

Il-manutenzjoni tal-pakkett qmail ħadu kont tan-nota ta' Bernstein u llimitaw il-memorja disponibbli meta bdew il-proċess qmail-smtpd (per eżempju, f'Debian 10 il-limitu huwa ssettjat għal 7MB). Iżda inġiniera minn Qualys sabu li dan mhux biżżejjed u, minbarra qmail-smtpd, jista 'jitwettaq attakk mill-bogħod fuq il-proċess qmail-local, li baqa' mhux ristrett fil-pakketti kollha ttestjati. Bħala prova, tħejja prototip ta' sfruttament li kien adattat biex jattakka l-pakkett Debian b'qmail fil-konfigurazzjoni default.
Biex torganizza l-eżekuzzjoni remota tal-kodiċi waqt attakk, is-server jeħtieġ 4GB ta 'spazju fuq disk liberu u 8GB ta' RAM.
L-isfruttament jippermettilek li tmexxi kwalunkwe kmandi tal-qoxra bid-drittijiet ta’ kwalunkwe utent fis-sistema, ħlief għall-utenti tal-għeruq u tas-sistema li m’għandhomx is-subdirectory tagħhom fid-direttorju “/home” (il-proċess qmail-local huwa mniedi bid-drittijiet tal-utent lokali li lilha ssir il-kunsinna).

L-attakk jitwettaq
billi jintbagħat messaġġ postali kbir ħafna, inklużi diversi linji header, li jkejjel bejn wieħed u ieħor 4GB u 576MB. L-ipproċessar ta 'sekwenza bħal din f'qmail-local jirriżulta f'overflow ta' numru sħiħ meta tipprova twassal messaġġ lill-utent lokali. Integer overflow imbagħad iwassal għal buffer overflow meta tikkopja d-dejta u l-possibbiltà li jinkitbu fuq il-paġni tal-memorja bil-kodiċi libc. Billi timmanipula t-tqassim tad-dejta trażmessa, huwa wkoll possibbli li terġa 'tikteb l-indirizz tal-funzjoni "open()", u tissostitwiha bl-indirizz tal-funzjoni "system()".

Sussegwentement, fil-proċess li ssejjaħ qmesearch() f'qmail-local, il-fajl ".qmail-extension" jinfetaħ permezz tal-funzjoni open(), li twassal għall-eżekuzzjoni attwali tal-funzjoni
sistema (".qmail-extension"). Iżda peress li l-parti "estensjoni" tal-fajl hija ġġenerata abbażi tal-indirizz tar-riċevitur (per eżempju, "localuser-extension@localdomain"), l-attakkanti jistgħu jirranġaw biex il-kmand jintbagħat biex jaħdem billi jispeċifika l-utent "localuser-;kmand". ;@localdomain” bħala r-riċevitur tal-messaġġ.

Matul l-analiżi tal-kodiċi, ġew identifikati wkoll żewġ vulnerabbiltajiet fil-garża addizzjonali qmail-verify, li hija parti mill-pakkett għal Debian. L-ewwel vulnerabbiltà (CVE-2020-3811) jippermettilek tevita l-verifika tal-indirizz tal-email, u t-tieni (CVE-2020-3812) twassal għal tnixxija ta' informazzjoni lokali. B'mod partikolari, l-ewwel vulnerabbiltà tippermettilek li tevita l-verifika tal-korrettezza tal-indirizz użat fl-isfruttament biex tibgħat kmand (il-verifika ma taħdimx għal indirizzi mingħajr dominju, bħal "localuser-;kmand;"). It-tieni vulnerabbiltà tista 'tintuża biex tiċċekkja l-preżenza ta' fajls u direttorji fis-sistema, inklużi dawk aċċessibbli biss għall-għeruq (qmail-verify runs bi drittijiet tal-għeruq), permezz ta 'sejħa diretta lill-handler lokali.

Biex taħdem madwar il-problema, Bernstein irrakkomanda t-tħaddim tal-proċessi qmail b'limitu totali fuq il-memorja disponibbli ("softlimit -m12345678"), f'liema każ il-problema tkun imblukkata. Bħala metodu alternattiv ta 'protezzjoni, jissemma wkoll il-limitazzjoni tad-daqs massimu tal-messaġġ ipproċessat permezz tal-fajl "kontroll/databytes" (b'mod awtomatiku ma jinħoloqx b'settings default qmail jibqa' vulnerabbli). Barra minn hekk, "kontroll/databytes" ma jipproteġix kontra attakki lokali minn utenti tas-sistema, peress li l-limitu jitqies biss minn qmail-smtpd.

Il-problema taffettwa l-pakkett netqmail, inkluż fir-repożitorji Debian. Ġie ppreparat sett ta' garżi għal dan il-pakkett, li jeliminaw kemm vulnerabbiltajiet qodma mill-2005 (billi żżid limiti ta' memorja iebsa mal-kodiċi tal-funzjoni alloc()) kif ukoll problemi ġodda f'qmail-verify. Separatament ippreparat verżjoni aġġornata tal-garża qmail-verify. Iżviluppaturi fergħat notqmail ħejjew l-irqajja tagħhom stess biex jimblukkaw problemi qodma, u bdew jaħdmu wkoll biex jeliminaw l-overflows kollha possibbli ta' numru sħiħ fil-kodiċi.

Sors: opennet.ru

Żid kumment