Nuglaanta ku jirta OpenSMTPD oo u oggolaanaysa marinka fog iyo xididka maxalliga ah

Shirkadda Qualys kashifay nuglaansho kale oo fog oo halis ah (CVE-2020-8794) ee ku jirta server-ka boostada FurSMTPD, oo uu sameeyay mashruuca OpenBSD. Sida kii la aqoonsaday dhamaadka Janaayo nuglaanta, arrin cusub ayaa suurtogal ka dhigaysa in meel fog laga fuliyo amarrada qolofka aan sharciga ahayn ee server-ka leh xuquuqda isticmaalaha. Nuglaanta meesha laga saaray arrinta FurSMTPD 6.6.4p1.

Dhibka waxaa keenay cilad ku jirta koodka kaas oo boostada u gudbiya server-ka fariimaha fog (ma aha koodka gacanta ku haya xidhiidhada soo galaya). Weerarku waa suurtogal labadaba dhinaca macmiilka iyo dhinaca server-ka. Dhinaca macmiilka, weerarku wuxuu suurtogal u yahay qaabka caadiga ah ee OpenSMTPD, kaas oo OpenSMTPD uu aqbalo codsiyada kaliya ee shabakada gudaha (localhost) oo u soo diro fariimaha boostada server-yada dibadda. Si looga faa'iidaysto nuglaanta, waxaa ku filan in, inta lagu jiro gudbinta warqad, OpenSMTPD waxay dejisaa kalfadhi leh server-ka boostada ee uu gacanta ku hayo weerarka, ama in weerarku uu dhex geli karo xiriirka macmiilka (MITM ama dib u habeyn inta lagu jiro weerarrada DNS ama BGP ).

Weerar dhinaca server-ka ah, OpenSMTPD waa in loo habeeyaa si uu u helo codsiyada shabakadaha dibadda ee server-yada kale ama u adeego adeegyada dhinac saddexaad ee kuu oggolaanaya inaad codsi u dirto iimaylka aan sharciga ahayn (tusaale, foomamka xaqiijinta ciwaanka ee mareegaha). Tusaale ahaan, qofka wax weeraraya waxa uu ku xidhi karaa server-ka OpenSMTPD oo waxa uu u diri karaa xaraf khaldan (isticmalaa aan jirin), taas oo u horseedi doonta in jawaab loo diro warqad leh kood khalad ah (bounce) server-ka weerarka. Weeraryahanku wuxuu ka faa'iidaysan karaa nuglaanshaha marka OpenSMTPD uu ku xidhmo si uu ogeysiis ugu gudbiyo server-ka weerarka. Awaamiirta qolofka la duray inta lagu jiro weerarka waxaa lagu ridayaa fayl lagu fuliyay xuquuqaha xididka marka OpenSMTPD dib loo bilaabo, marka weerarku waa inuu sugaa OpenSMTPD inuu dib u bilaabo ama bilaabo shilka OpenSMTPD si loo dhamaystiro weerarka.

Dhibaatadu waxay ku jirtaa shaqada mta_io() ee koodhka si loo kala saaro jawaabta khadadka badan ee uu soo celiyay server-ka fog ka dib markii xidhiidh la sameeyay (tusaale, "250-ENHANCEDSTATUSCODES" iyo "250 HELP"). OpenSMTPD waxa ay xisaabisaa in xariiqda koowaad ay ku jirto lambar saddex-god ah iyo qoraal ay u kala soocaan xarfo "-" , xariiqda labaadna waxa ay ka kooban tahay lambar saddex-god ah iyo qoraal ay u kala qaybsan tahay meel bannaan. Haddii nambar saddex-god ah aysan raacin meel bannaan iyo qoraal ku jira xariiqda labaad, tilmaame loo isticmaalo in lagu qeexo qoraalka waxaa loo dejinayaa byte-ka iyadoo la raacayo xarafka '\0' waxaana la isku dayaa in la koobiyeeyo xogta ka dib dhammaadka. ee xariiqda galka kaydka.

Codsiga mashruuca OpenBSD, daabacaadda tafaasiisha ku saabsan ka faa'iidaysiga nuglaanta ayaa dib loo dhigay ilaa Febraayo 26keeda si loogu oggolaado isticmaaleyaasha inay cusboonaysiiyaan nidaamkooda. Dhibaatadu waxay ku jirtay codebase ilaa Diisambar 2015, laakiin ka faa'iidaysiga ka hor fulinta koodka oo leh mudnaanta xididka ayaa suurtagal ah ilaa May 2018. Cilmi baadhayaashu waxay diyaariyeen nooc ka mid ah ka faa'iidaysiga, kaas oo si guul leh loogu tijaabiyay OpenSMTPD dhismooyinka OpenBSD 6.6, OpenBSD 5.9, Debian 10, Debian 11 (tijaabin) iyo Fedora 31.

Gudaha OpenSMTPD sidoo kale la aqoonsaday Nuglaanta kale (CVE-2020-8793) taas oo u oggolaanaysa isticmaale maxalli ah inuu akhriyo laynka koowaad ee fayl kasta oo ku jira nidaamka. Tusaale ahaan, waxaad akhrin kartaa safka ugu horreeya ee /etc/master.passwd, kaas oo ka kooban ereyga sirta ah ee isticmaalaha xididka. Nuglaanta ayaa sidoo kale kuu ogolaanaysa inaad akhrido dhammaan waxa ku jira faylka uu leeyahay isticmaale kale haddii faylkan uu ku yaal isla nidaamka faylka sida /var/spool/smtpd/ directory. Dhibaatadu maaha mid laga faa'iidaysan karo qaybin badan oo Linux ah halkaas oo qiimaha /proc/sys/fs/protected_hardlinks loo dejiyay 1.

Dhibaatadu waa natiijada ciribtirka aan dhamaystirnayn dhibaatooyinka, oo lagu dhawaaqay intii lagu jiray xisaab-xidhka uu sameeyay Qualys 2015. Weeraryahanku wuxuu ku guuleysan karaa fulinta koodkiisa xuquuqda kooxda "_smtpq" isagoo dejinaya "PATH=." variable. iyo dhigista qoraal la yiraahdo makemap tusaha hadda jira (Utility smtpctl wuxuu wadaa makemapka isagoon si cad u qeexin dariiqa). Helitaanka kooxda "_smtpq", weeraryahanku wuxuu markaa sababi karaa xaalad jinsiyadeed (ku samee fayl weyn tusaha khadka tooska ah una dir calaamada SIGSTOP) iyo, ka hor inta aan la dhamaystirin, ku beddel faylka tusaha khadka tooska ah adag. symlink oo tilmaamaya faylka la beegsanayo oo waxa ku jira loo baahan yahay in la akhriyo .

Waxaa xusid mudan in Fedora 31 nuglaanta ay kuu ogolaaneyso inaad isla markiiba hesho mudnaanta kooxda xididka, maadaama habka smtpctl uu ku qalabeysan yahay calanka xididka setgid, halkii laga heli lahaa calanka smtpq setgid. Helitaanka kooxda xididka, waxaad dib u qori kartaa waxa ku jira /var/lib/sss/mc/passwd oo aad heli kartaa xidid buuxa nidaamka.

Source: opennet.ru

Add a comment