Vulnerabilità Critica Exim Revelata

publicatu liberazione currettiva Exim 4.92.2 cù l'eliminazione di critichi vulnerabilità (CVE-2019-15846), chì in a cunfigurazione predeterminata pò purtà à l'esekzione di codice remota da un attaccante cù privilegi di root. U prublema apparisce solu quandu u supportu TLS hè attivatu è hè sfruttatu passendu un certificatu di cliente apposta o un valore mudificatu à SNI. Vulnerabilità identificatu da Qualys.

prublemu prisente in u gestore per scappà i caratteri speciali in a stringa (string_interpret_escape() da string.c) è hè causatu da u caratteru '\' à a fine di a stringa chì hè interpretatu prima di u caratteru nulu ('\0') è scappatu. Quandu si scappa, a sequenza '\' è u codice di fine di linea nulla seguente sò trattati cum'è un caratteru unicu è u punteru hè spustatu à dati fora di a linea, chì hè trattatu cum'è una continuazione di a linea.

U codice chì chjama string_interpret_escape () attribuisce un buffer per u drenu basatu annantu à a dimensione attuale, è u punteru espostu finisce in una zona fora di i limiti di u buffer. In cunsiquenza, quandu pruvate di processà una stringa di input, una situazione si sviluppa quandu leghje dati da una zona fora di i limiti di u buffer attribuitu, è un tentativu di scrive una stringa senza scappata pò guidà à scrive oltre i limiti di u buffer.

In a cunfigurazione predeterminata, a vulnerabilità pò esse sfruttata mandendu dati apposta à SNI quandu stabilisce una cunnessione sicura à u servitore. U prublema pò ancu esse sfruttatu mudificà i valori peerdn in cunfigurazioni cunfigurate per l'autentificazione di u certificatu di u cliente o quandu importanu certificati. L'attaccu via SNI è peerdn hè pussibule partendu da a liberazione Exim 4.80, in quale a funzione string_unprinting () hè stata aduprata per annullà u cuntenutu peerdn è SNI.

Un prototipu di sfruttamentu hè statu preparatu per un attaccu via SNI, in esecuzione in architetture i386 è amd64 in sistemi Linux cù Glibc. U sfruttamentu utilizeghja a superposizione di dati nantu à l'area di u munzeddu, risultatu in a soprascrittura di a memoria in quale u nome di u schedariu di log hè almacenatu. U nome di u schedariu hè rimpiazzatu cù "/../../../../../../../../etc/passwd". Dopu, a variabile cù l'indirizzu di u mittente hè soprascritta, chì hè prima salvatu in u logu, chì permette di aghjunghje un novu utilizatore à u sistema.

L'aghjurnamenti di u pacchettu cù correzioni di vulnerabilità liberate da e distribuzioni Debian, Ubuntu, Fedora, SUSE/openSUSE и FreeBSD. Problema RHEL è CentOS micca suscettibile, postu chì Exim ùn hè micca inclusu in u so repositariu di pacchetti regulare (in CALDE rinnuvamentu digià furmatu, ma per avà micca postu à un repositoriu publicu). In u codice Exim, u prublema hè risolta cù una sola linea patch, chì disattiva l'effettu di scappamentu di u backslash s'ellu hè à a fine di a linea.

Cum'è una soluzione per bluccà a vulnerabilità, pudete disattivà u supportu TLS o aghjunghje
Sezione ACL "acl_smtp_mail":

deny condition = ${if eq{\\}{${substr{-1}{1}{$tls_in_sni}}}}
deny condition = ${if eq{\\}{${substr{-1}{1}{$tls_in_peerdn}}}}

Source: opennet.ru

Add a comment