Perusahaan Qualys
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
Masalah kasebut minangka akibat saka eliminasi sing ora lengkap
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