Perusahaan Qualys
Masalahna disababkeun ku bug dina kode nu delivers mail ka server mail jauh (teu dina kode nu handles sambungan asup). Serangan kasebut mungkin di sisi klien sareng di sisi server. Di sisi klien, serangan kasebut mungkin dina konfigurasi standar OpenSMTPD, dimana OpenSMTPD ngan ukur nampi pamundut dina antarmuka jaringan internal (localhost) sareng ngirim pesen surat ka server éksternal. Pikeun ngamangpaatkeun kerentanan, cukup yén, nalika ngirim surat, OpenSMTPD ngadamel sési sareng server mail anu dikontrol ku panyerang, atanapi yén panyerang tiasa ngaganjel kana sambungan klien (MITM atanapi alihan nalika serangan via DNS atanapi BGP. ).
Pikeun serangan sisi server, OpenSMTPD kudu ngonpigurasi pikeun nampa requests jaringan éksternal ti server mail sejenna atawa ngalayanan jasa pihak katilu nu ngidinan Anjeun pikeun ngirim pamundut ka email sawenang (contona, formulir konfirmasi alamat dina situs web). Salaku conto, panyerang tiasa nyambung ka server OpenSMTPD sareng ngirim surat anu salah (ka pangguna anu henteu aya), anu bakal ngakibatkeun réspon ngirim surat kalayan kode kasalahan (mumbul) ka server panyerang. Panyerang tiasa ngamangpaatkeun kerentanan nalika OpenSMTPD nyambung pikeun ngirimkeun béwara ka server panyerang. Paréntah cangkang anu disuntik nalika serangan disimpen dina file anu dieksekusi kalayan hak akar nalika OpenSMTPD di-restart, janten panyerang kedah ngantosan OpenSMTPD ngamimitian deui atanapi ngamimitian kacilakaan OpenSMTPD pikeun ngarengsekeun serangan.
Masalahna hadir dina fungsi mta_io () dina kode pikeun parsing respon multiline dipulangkeun ku server jauh sanggeus sambungan dijieun (Contona, "250-ENHANCEDSTATUSCODES" jeung "250 HELP"). OpenSMTPD ngitung yén baris kahiji ngawengku angka tilu-angka jeung téks dipisahkeun ku karakter "-", sarta baris kadua ngandung angka tilu-angka jeung téks dipisahkeun ku spasi. Lamun angka tilu-angka teu dituturkeun ku spasi jeung téks dina baris kadua, pointer dipaké pikeun nangtukeun téks disetel ka bait handap karakter '\0' sarta usaha dilakukeun pikeun nyalin data sanggeus tungtung. tina garis kana panyangga.
Dina paménta proyék OpenBSD, publikasi rinci ngeunaan eksploitasi kerentanan parantos ditunda dugi ka 26 Pebruari pikeun ngamungkinkeun para pangguna ngapdet sistemna. Masalahna parantos aya dina basis kode ti saprak Désémber 2015, tapi eksploitasi sateuacan palaksanaan kode kalayan hak-hak akar parantos tiasa dilaksanakeun saprak Méi 2018. Panaliti nyiapkeun prototipe anu tiasa dianggo, anu parantos diuji dina OpenSMTPD ngawangun pikeun OpenBSD 6.6, OpenBSD 5.9, Debian 10, Debian 11 (uji coba) sareng Fedora 31.
Dina OpenSMTPD ogé
Masalahna mangrupikeun akibat tina ngaleungitkeun anu teu lengkep
Catet yén dina Fedora 31 kerentanan ngamungkinkeun anjeun langsung kéngingkeun hak istimewa tina grup akar, sabab prosés smtpctl dilengkepan ku bandéra akar setgid, tibatan bandéra setgid smtpq. Ku kéngingkeun aksés kana grup akar, anjeun tiasa nimpa eusi /var/lib/sss/mc/passwd sareng kéngingkeun aksés root pinuh kana sistem.
sumber: opennet.ru