Kerentanan ing OpenSMTPD sing ngidini akses root remot lan lokal

Perusahaan Qualys dicethakaké kerentanan kritis remot liyane (CVE-2020-8794) ing server mail OpenSMTPD, dikembangake dening proyek OpenBSD. Kaya sing diidentifikasi ing pungkasan Januari kerentanan, Jeksa Agung bisa ngetokake anyar ndadekake iku bisa kanggo mbatalake nglakokaké printah cangkang sembarang ing server karo hak panganggo ROOT. Kerentanan diilangi ing Jeksa Agung bisa ngetokake OpenSMTPD 6.6.4p1.

Masalah disebabake bug ing kode sing ngirim mail menyang server mail remot (ora ing kode sing nangani sambungan mlebu). Serangan kasebut bisa ditindakake ing sisih klien lan ing sisih server. Ing sisih klien, serangan kasebut bisa ditindakake ing konfigurasi standar OpenSMTPD, ing ngendi OpenSMTPD mung nampa panjalukan ing antarmuka jaringan internal (localhost) lan ngirim pesen email menyang server eksternal. Kanggo ngeksploitasi kerentanan, cukup yen, sajrone ngirim layang, OpenSMTPD nggawe sesi karo server email sing dikontrol dening panyerang, utawa penyerang bisa nggabung menyang sambungan klien (MITM utawa pangalihan nalika serangan liwat DNS utawa BGP. ).

Kanggo serangan sisih server, OpenSMTPD kudu dikonfigurasi kanggo nampa panjalukan jaringan eksternal saka server mail liyane utawa nglayani layanan pihak katelu sing ngidini sampeyan ngirim panjaluk menyang email sing sewenang-wenang (contone, formulir konfirmasi alamat ing situs web). Contone, panyerang bisa nyambung menyang server OpenSMTPD lan ngirim layang sing salah (kanggo pangguna sing ora ana), sing bakal nyebabake respon ngirim layang kanthi kode kesalahan (mumbul) menyang server penyerang. Penyerang bisa ngeksploitasi kerentanan nalika OpenSMTPD nyambungake kanggo ngirim kabar menyang server penyerang. Perintah cangkang sing disuntikake sajrone serangan diselehake ing file sing dieksekusi kanthi hak root nalika OpenSMTPD diwiwiti maneh, mula panyerang kudu ngenteni OpenSMTPD miwiti maneh utawa miwiti kacilakan OpenSMTPD kanggo ngrampungake serangan kasebut.

Masalah ana ing mta_io () fungsi ing kode kanggo parsing respon multiline bali dening server remot sawise sambungan diadegaké (Contone, "250-ENHANCEDSTATUSCODES" lan "250 HELP"). OpenSMTPD ngetung yen baris pisanan kalebu nomer telung digit lan teks sing dipisahake karo karakter "-", lan baris kapindho ngemot nomer telung digit lan teks sing dipisahake dening spasi. Yen nomer telung digit ora diikuti spasi lan teks ing baris kapindho, pointer sing digunakake kanggo nemtokake teks disetel menyang bait sawise karakter '\0' lan nyoba kanggo nyalin data sawise mburi. saka baris menyang buffer.

Kanthi panjaluk proyek OpenBSD, publikasi rincian babagan eksploitasi kerentanan wis ditundha nganti 26 Februari kanggo ngidini pangguna nganyari sistem. Masalah kasebut wis ana ing basis kode wiwit Desember 2015, nanging eksploitasi sadurunge eksekusi kode kanthi hak istimewa root wis bisa ditindakake wiwit Mei 2018. Peneliti nyiapake prototipe eksploitasi, sing sukses diuji ing OpenSMTPD mbangun kanggo OpenBSD 6.6, OpenBSD 5.9, Debian 10, Debian 11 (uji coba) lan Fedora 31.

Ing OpenSMTPD uga dikenali Kerentanan liyane (CVE-2020-8793) sing ngidini pangguna lokal maca baris pisanan file apa wae ing sistem kasebut. Contone, sampeyan bisa maca baris pisanan /etc/master.passwd, sing ngemot hash sandi pangguna root. Kerentanan uga ngidini sampeyan maca kabeh isi file sing diduweni pangguna liya yen file iki ana ing sistem file sing padha karo direktori /var/spool/smtpd/. Masalah kasebut ora bisa dieksploitasi ing akeh distribusi Linux ing ngendi nilai /proc/sys/fs/protected_hardlinks disetel dadi 1.

Masalah kasebut minangka akibat saka eliminasi sing ora lengkap masalah, disuarakake sajrone audit sing ditindakake dening Qualys ing taun 2015. Penyerang bisa entuk eksekusi kode kanthi hak grup "_smtpq" kanthi nyetel variabel "PATH =.". lan nyelehake skrip sing diarani makemap ing direktori saiki (utilitas smtpctl mbukak makemap tanpa nemtokake path kanthi jelas). Kanthi entuk akses menyang grup "_smtpq", penyerang banjur bisa nyebabake kondisi balapan (nggawe file gedhe ing direktori offline lan ngirim sinyal SIGSTOP) lan, sadurunge proses rampung, ngganti file ing direktori offline kanthi hard symlink ngarahake menyang file target sing isine kudu diwaca.

Wigati dimangerteni manawa ing Fedora 31 kerentanan ngidini sampeyan langsung entuk hak istimewa saka grup root, amarga proses smtpctl dilengkapi gendéra root setgid, tinimbang gendéra setgid smtpq. Kanthi entuk akses menyang grup root, sampeyan bisa nimpa isi /var/lib/sss/mc/passwd lan entuk akses root lengkap menyang sistem.

Source: opennet.ru

Add a comment