Exim ahultasun kritikoa agerian

argitaratua oharra zuzentzailea Exim 4.92.2 kritikoa ezabatuz ahultasunak (CVE-2019-15846), konfigurazio lehenetsian root pribilegioak dituen erasotzaile batek urruneko kodea exekutatzera eraman dezake. Arazoa TLS euskarria gaituta dagoenean bakarrik agertzen da eta berariaz diseinatutako bezero-ziurtagiria edo aldatutako balio bat SNI-ri pasatzean baliatzen da. Zaurgarritasuna identifikatu Qualys-en eskutik.

arazoa presente katearen karaktere bereziei ihes egiteko kudeatzailean (string_interpret_escape() katetik.c) eta katearen amaierako '\' karakterea karaktere nuluaren ('\0') baino lehen interpretatu eta ihes egiteagatik sortzen da. Ihes egitean, '\' sekuentzia eta hurrengo lerro amaierako kode nulua karaktere bakar gisa tratatzen dira eta erakuslea lerrotik kanpoko datuetara desplazatzen da, lerroaren jarraipena bezala tratatzen dena.

string_interpret_escape() deitzen duen kodeak drainatzeko buffer bat esleitzen du benetako tamainaren arabera, eta agerian dagoen erakuslea buffer-aren mugetatik kanpoko eremu batean amaitzen da. Horren arabera, sarrerako kate bat prozesatzen saiatzean, egoera bat sortzen da esleitutako buffer-aren mugetatik kanpoko eremu bateko datuak irakurtzean, eta ihesik gabeko kate bat idazteko saiakerak bufferaren mugetatik haratago idaztera ekar dezake.

Lehenetsitako konfigurazioan, ahultasuna aprobetxatu daiteke SNIri bereziki diseinatutako datuak bidaliz zerbitzariarekin konexio segurua ezartzean. Arazoa bezeroaren ziurtagirien autentifikaziorako konfiguratutako konfigurazioetan edo ziurtagiriak inportatzean ere ustiatu daiteke peerdn balioak aldatuz. SNI eta peerdn bidez erasotzea posible da askapenetik hasita Exim 4.80, zeinetan string_unprinting() funtzioa erabili zen peerdn eta SNI edukiak desinprimatzeko.

SNI bidezko erasorako ustiapen-prototipo bat prestatu da, Glibc-ekin Linux sistemetan i386 eta amd64 arkitekturatan exekutatzen. Explotazioak datuen gainjartzea erabiltzen du heap eremuan, eta ondorioz, erregistro-fitxategiaren izena gordetzen den memoria gainidazten du. Fitxategiaren izena "/../../../../../../../../etc/passwd"-rekin ordezkatzen da. Jarraian, igorlearen helbidea duen aldagaia gainidazten da, lehenengo erregistroan gordetzen dena, eta horri esker, sisteman erabiltzaile berri bat gehitzeko aukera dago.

Paketeen eguneraketak banaketak kaleratutako ahultasun konponketekin Debian, Ubuntu, Fedora, SUSE/openSUSE ΠΈ FreeBSD. RHEL eta CentOS arazoa ez gaia, Exim ez baitago bere ohiko paketeen biltegian (in EPEL ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ dagoeneko eratu, baina oraingoz ez jarrita biltegi publiko batera). Exim kodean arazoa lerro bakarreko batekin konpontzen da adabakia, atzera-barraren ihes-efektua desgaitzen duena lerroaren amaieran badago.

Ahultasuna blokeatzeko konponbide gisa, TLS laguntza desgaitu edo gehi dezakezu
ACL atala "acl_smtp_mail":

ukatu baldintza = ${if eq{\\}{${substr{-1}{1}{$tls_in_sni}}}}
ukatu baldintza = ${if eq{\\}{${substr{-1}{1}{$tls_in_peerdn}}}}

Iturria: opennet.ru

Gehitu iruzkin berria