Exim Kritika Vundebleco Rivelita

eldonita korekta liberigo Exim 4.92.2 kun la elimino de kritika vundeblecoj (CVE-2019-15846), kiu en la defaŭlta agordo povas konduki al fora koda ekzekuto de atakanto kun radikaj privilegioj. La problemo nur aperas kiam TLS-subteno estas ebligita kaj estas ekspluatata pasante speciale desegnitan klientatestilon aŭ modifitan valoron al SNI. Vundebleco identigita de Qualys.

problemo ĉeestanta en la prizorganto por eskapi specialajn signojn en la ĉeno (string_interpret_escape () de ĉeno.c) kaj estas kaŭzita de la signo '\' ĉe la fino de la ĉeno interpretata antaŭ la nula signo ('\0') kaj eskapas ĝin. Dum eskapado, la sekvenco '\' kaj la sekva nula fino de linio kodo estas traktitaj kiel ununura signo kaj la montrilo estas movita al datenoj ekster la linio, kiu estas traktita kiel daŭrigo de la linio.

La kodo vokanta string_interpret_escape () asignas bufron por la drenilo bazita sur la reala grandeco, kaj la elmontrita montrilo finiĝas en areo ekster la limoj de la bufro. Sekve, kiam oni provas prilabori enigŝnuron, situacio ekestas dum legado de datumoj de areo ekster la limoj de la asignita bufro, kaj provo skribi neeskapitan ĉenon povas konduki al skribo preter la limoj de la bufro.

En la defaŭlta agordo, la vundebleco povas esti ekspluatata sendante speciale desegnitajn datumojn al SNI dum establado de sekura konekto al la servilo. La afero ankaŭ povas esti ekspluatata modifante peerdn-valorojn en agordoj agorditaj por klienta atestilo aŭ dum importado de atestiloj. Atako per SNI kaj peerdn eblas ekde liberigo Exim 4.80, en kiu la funkcio string_unprinting() estis uzata por malpresi la enhavojn de peerdn kaj SNI.

Eksploto-prototipo estis preparita por atako per SNI, funkcianta per arkitekturoj i386 kaj amd64 sur Linukso-sistemoj kun Glibc. La ekspluato uzas datumkovraĵon sur la amasareo, rezultigante anstataŭi la memoron en kiu la protokoldosiernomo estas stokita. La dosiernomo estas anstataŭigita per "/../../../../../../../../etc/passwd". Poste, la variablo kun la adreso de la sendinto estas anstataŭita, kiu unue estas konservita en la protokolo, kiu ebligas al vi aldoni novan uzanton al la sistemo.

Pakaj ĝisdatigoj kun vundeblecoj eldonitaj de distribuoj Debian, ubuntu, Fedora, SUSE/malfermuSUSE и FreeBSD. Problemo de RHEL kaj CentOS ne susceptible, ĉar Exim ne estas inkludita en ilia regula pakdeponejo (en VARMA renovigo jam formis, sed nuntempe ne metita al publika deponejo). En Exim-kodo la problemo estas riparita per unu-linio flikaĵo, kiu malŝaltas la eskapan efikon de la malantaŭa oblikvo se ĝi estas ĉe la fino de la linio.

Kiel solvo por bloki la vundeblecon, vi povas malŝalti TLS-subtenon aŭ aldoni
ACL-sekcio "acl_smtp_mail":

rifuzi kondiĉon = ${if eq{\\}{${substr{-1}{1}{$tls_in_sni}}}}
rifuzi kondiĉon = ${if eq{\\}{${substr{-1}{1}{$tls_in_peerdn}}}}

fonto: opennet.ru

Aldoni komenton