Di servera nameyê ya qmail de qelsiya ku ji dûr ve tê bikar anîn

Lêkolînerên ewlehiyê ji Qualys destnîşan kir fersend kedmêjî qelsiyên di servera nameyê ya qmail de, nashatî di sala 2005-an de (CVE-2005-1513), lê bêserûber ma ji ber ku nivîskarê qmail angaşt kir ku ew nerealîst e ku meriv karûbarek xebitandinê biafirîne ku dikare ji bo êrişkirina pergalên di veavakirina xwerû de were bikar anîn. Qualys karîbû îstismarek amade bike ku vê texmînê red dike û dihêle ku meriv bi şandina peyamek taybetî hatî sêwirandin dest bi darvekirina kodê ji dûr ve li ser serverê bike.

Pirsgirêk di fonksiyona stralloc_readyplus() de ji ber hejmarek pir zêde dibe, ku dikare dema ku peyamek pir mezin hildiweşîne. Operasyon pêdivî bi pergalek 64-bit bi zêdetirî 4 GB bîra virtual heye. Dema ku di 2005-an de qelsî di destpêkê de hate analîz kirin, Daniel J. Bernstein angaşt kir ku texmîna di kodê de ku mezinahiya array veqetandî her gav di nav nirxa 32-bit de ye, li ser vê yekê ye ku kes ji her pêvajoyê gigabytes bîranînê peyda nake. Di van 15 salên borî de, pergalên 64-bit ên li ser serveran cîh dane pergalên 32-bit, û hêjmara bîranîna peydakirî û firehiya torê pir zêde bûye.

Parêzgerên pakêta qmailê nîşeya Bernstein li ber çavan girtin û dema ku pêvajoya qmail-smtpd dest pê dike bîra berdest sînordar kirin (mînak, di Debian 10 de sînor 7 MB tête danîn). Lê endezyarên ji Qualys dît ku ev ne bes e û, ji bilî qmail-smtpd, êrîşek ji dûr ve dikare li ser pêvajoya qmail-herêmî, ku di hemî pakêtên ceribandinê de bêsînor ma, were kirin. Wekî delîl, prototîpek kedxwariyê hate amadekirin ku ji bo êrîşa li ser pakêta Debian bi qmail di veavakirina xwerû de maqûl bû.
Ji bo organîzekirina înfazkirina kodê ji dûr ve di dema êrîşê de, server 4 GB cîhê dîskê belaş û 8 GB RAM hewce dike.
Kêmasî dihêle hûn bi mafên her bikarhênerek di pergalê de fermanên şêlê bimeşînin, ji xeynî bikarhênerên root û pergalê yên ku di pelrêça "/home" de xwedan pelrêça xwe nînin (pêvajoya qmail-herêmî bi mafan tê destpêkirin. bikarhênerê herêmî yê ku teslîmî wî tê kirin).

Êrîş tê kirin
bi şandina peyamek e-nameyek pir mezin, tevî çend rêzikên sernivîsê, bi qasî 4 GB û 576 MB. Pêvajoya rêzek wusa di qmail-herêmî de dema ku hewl dide ku peyamek bigihîne bikarhênerê herêmî, dibe sedema hejmarek zêde. Dema kopîkirina daneyan û îhtîmala jinavbirina rûpelên bîranînê bi koda libc re, dûv re hejmarek tevhejmar dibe sedema zêdebûna tamponê. Bi manîpulekirina sêwirana daneya ku hatî şandin, di heman demê de gengaz e ku meriv navnîşana fonksiyona "vekirî()" ji nû ve binivîsîne, li şûna wê navnîşana fonksiyona "pergal ()" bigire.

Dûv re, di pêvajoya bangkirina qmesearch() de di qmail-local de, pelê ".qmail-extension" bi fonksiyona vekirî() ve tê vekirin, ku dibe sedema pêkanîna rastîn a fonksiyonê.
system ("qmail-extension"). Lê ji ber ku beşa "berfireh" a pelê li ser bingeha navnîşana wergir tê çêkirin (mînak, "localuser-extension@localdomain"), êrîşkar dikarin fermanê bişînin ku bi rê ve bibe bi destnîşankirina bikarhêner "localuser-;ferman". ;@localdomain" wekî wergirê peyamê.

Di dema analîzkirina kodê de, du qelsî jî di pêveka qmail-verify ya zêde de, ku beşek ji pakêtê ye ji bo Debian, hatine nas kirin. Zehmetiya yekem (CVE-2020-3811) destûrê dide te ku verastkirina navnîşana e-nameyê, û ya duyemîn (CVE-2020-3812) dibe sedema derçûna agahdariya herêmî. Bi taybetî, qelsiya yekem dihêle hûn verastkirina rastbûna navnîşana ku di îstîsmarê de hatî bikar anîn ji bo şandina fermanê derbas bikin (verastkirin ji bo navnîşanên bê domain naxebite, wek mînak "localuser-;ferman;"). Zehfiya duyemîn dikare were bikar anîn da ku hebûna pel û peldankan li ser pergalê kontrol bike, di nav de yên ku tenê ji root re têne gihîştin (qmail-verastkirin bi mafên root re dimeşe), bi gazîkirina rasterast a ji rêvebirê herêmî re.

Ji bo ku li dora pirsgirêkê bixebite, Bernstein pêşniyar kir ku pêvajoyên qmail-ê bi sînorek tevahî li ser bîranîna berdest ("softlimit -m12345678") bimeşînin, di vê rewşê de pirsgirêk tê asteng kirin. Wekî rêbazek parastinê ya alternatîf, sînorkirina mezinahiya herî zêde ya peyama pêvajoyî bi pelê "kontrol/databytes" re jî tê binav kirin (ji hêla xwerû ve ew bi mîhengên xwerû nayê afirandin qmail xeternak dimîne). Wekî din, "kontrol / databytes" li dijî êrîşên herêmî yên bikarhênerên pergalê naparêze, ji ber ku sînor tenê ji hêla qmail-smtpd ve tê hesibandin.

Pirsgirêka pakêtê bandor dike netqmail, di nav depoyên Debian de hene. Ji bo vê pakêtê komek paç hatine amadekirin, hem qelsiyên kevn ên ji 2005-an (bi zêdekirina sînorên bîra hişk li koda fonksiyonê alloc()) hem jî pirsgirêkên nû di qmail-verify de ji holê radike. Separately amade kirin guhertoya nûvekirî ya qmail-verify patch. Developers şaxên notqmail paçeyên xwe amade kirin da ku pirsgirêkên kevin asteng bikin, û her weha dest bi xebatê kirin ku hemî hejmarên bêkêmasî yên gengaz ên di kodê de ji holê rakin.

Source: opennet.ru

Add a comment