Feiligens ûndersikers út Qualys
It probleem wurdt feroarsake troch in hiel getal oerstreaming yn de stralloc_readyplus () funksje, dat kin foarkomme by it ferwurkjen fan in hiel grut berjocht. Operaasje easke in 64-bit systeem mei mear as 4GB fan firtuele ûnthâld. Doe't de kwetsberens oarspronklik waard analysearre yn 2005, stelde Daniel J. Bernstein dat de oanname yn 'e koade dat de grutte fan' e tawiisde array altyd binnen 32-bit wearde is basearre op it feit dat gjinien jout gigabytes fan ûnthâld oan elk proses. Yn 'e ôfrûne 15 jier hawwe 64-bit systemen op tsjinners 32-bit systemen ferfongen, en it bedrach fan levere ûnthâld en netwurkbânbreedte is dramatysk tanommen.
De ûnderhâlders fan it qmail-pakket namen de notysje fan Bernstein yn rekken en beheine it beskikbere ûnthâld by it starten fan it qmail-smtpd-proses (bygelyks Debian 10 stelt in limyt fan 7MB yn). Mar yngenieurs fan Qualys fûnen dat dit net genôch is en, neist qmail-smtpd, kin in oanfal op ôfstân útfierd wurde op it qmail-lokale proses, dat ûnbeheind bleau yn alle testen pakketten. As bewiis waard in eksploitaasjeprototype taret, geskikt foar it oanfallen fan it Debian-pakket mei qmail yn 'e standertkonfiguraasje.
Om útfiering fan koade op ôfstân te organisearjen tidens in oanfal, fereasket de tsjinner 4 GB frije skiifromte en 8 GB RAM.
De eksploitaasje lit jo alle shell-kommando's útfiere mei de rjochten fan elke brûker yn it systeem, útsein foar root- en systeembrûkers dy't gjin eigen submap hawwe yn 'e map "/ home" (it qmail-lokale proses wurdt lansearre mei de rjochten fan de lokale brûker oan wa't levering wurdt útfierd).
De oanfal wurdt útfierd
troch it ferstjoeren fan in hiel grut mail berjocht, ynklusyf ferskate koptekst rigels, mjitten likernôch 4GB en 576MB. It ferwurkjen fan sa'n tekenrige yn qmail-local resultearret yn in heule getal oerstreaming as jo besykje in berjocht te leverjen oan de lokale brûker. In hiele getal oerstreaming dan liedt ta in buffer oerstreaming by it kopiearjen fan gegevens en de mooglikheid fan it oerskriuwen fan ûnthâld siden mei libc koade. Troch it manipulearjen fan de yndieling fan 'e oerdroegen gegevens, is it ek mooglik om it adres fan' e funksje "iepen ()" opnij te skriuwen, en ferfangt it mei it adres fan 'e funksje "systeem ()".
Folgjende, yn it proses fan it oproppen fan qmesearch () yn qmail-local, wurdt de triem ".qmail-útwreiding" iepene troch de funksje iepen (), wat liedt ta de eigentlike útfiering fan 'e funksje
system(".qmail-extension"). Mar om't it "útwreiding" diel fan it bestân wurdt oanmakke op basis fan it adres fan de ûntfanger (bygelyks "localuser-extension@localdomain"), kinne oanfallers regelje dat it kommando ferstjoerd wurdt om te rinnen troch de brûker "localuser-;kommando oan te jaan ;@localdomain" as de ûntfanger fan it berjocht.
Tidens de koade-analyze waarden ek twa kwetsberens identifisearre yn 'e ekstra qmail-ferify patch, dy't diel útmakket fan it pakket foar Debian. Earste kwetsberens (
Om it probleem om te gean, advisearre Bernstein om qmail-prosessen te rinnen mei in totale limyt op beskikber ûnthâld ("softlimit -m12345678"), yn dat gefal wurdt it probleem blokkearre. As alternatyf metoade fan beskerming, beheinen fan de maksimale grutte fan it ferwurke berjocht fia de "control / databytes" triem wurdt ek neamd (standert is it net makke mei standert ynstellings qmail bliuwt kwetsber). Derneist, "kontrôle / databytes" net beskermje tsjin lokale oanfallen fan systeem brûkers, sûnt de limyt wurdt allinnich rekken holden troch qmail-smtpd.
It probleem hat ynfloed op it pakket
Boarne: opennet.ru