Peneliti keamanan saka Qualys
Masalah disababaké déning overflow integer ing stralloc_readyplus () fungsi, kang bisa dumadi nalika ngolah pesen gedhe banget. Operasi mbutuhake sistem 64-bit kanthi memori virtual luwih saka 4GB. Nalika kerentanan iki Originally analisa ing 2005, Daniel J. Bernstein ndhukung sing Panyangka ing kode sing ukuran Uploaded diparengake tansah ing Nilai 32-bit adhedhasar kasunyatan sing ora ana siji nyedhiyani gigabyte memori kanggo saben proses. Sajrone 15 taun kepungkur, sistem 64-bit ing server wis ngganti sistem 32-bit, lan jumlah memori sing diwenehake lan bandwidth jaringan saya tambah akeh.
Pangopènan paket qmail njupuk cathetan Bernstein lan winates ing memori kasedhiya nalika miwiti proses qmail-smtpd (Contone, ing Debian 10 watesan disetel kanggo 7MB). Nanging insinyur saka Qualys nemokake yen iki ora cukup lan, saliyane qmail-smtpd, serangan remot bisa ditindakake ing proses qmail-lokal, sing tetep ora diwatesi ing kabeh paket sing dites. Minangka bukti, prototipe eksploitasi wis disiapake sing cocok kanggo nyerang paket Debian karo qmail ing konfigurasi standar.
Kanggo ngatur eksekusi kode remot sajrone serangan, server mbutuhake ruang disk gratis 4GB lan RAM 8GB.
Eksploitasi ngidini sampeyan mbukak perintah cangkang kanthi hak pangguna ing sistem kasebut, kajaba pangguna root lan sistem sing ora duwe subdirektori dhewe ing direktori "/ ngarep" (proses qmail-lokal diluncurake kanthi hak. pangguna lokal sing dikirimake).
Serangan ditindakake
liwat ngirim pesen mail gedhe banget, kalebu sawetara baris header, ukuran kira-kira 4GB lan 576MB. Ngolah senar kasebut ing qmail-lokal nyebabake kebanjiran integer nalika nyoba ngirim pesen menyang pangguna lokal. Overflow integer banjur ndadékaké overflow buffer nalika nyalin data lan kamungkinan kanggo nimpa kaca memori nganggo kode libc. Kanthi manipulasi tata data ditularaké, iku uga bisa kanggo nulis maneh alamat fungsi "mbukak ()", ngganti karo alamat fungsi "sistem ()".
Sabanjure, ing proses nelpon qmesearch () ing qmail-lokal, mbukak file ".qmail-extension" liwat fungsi mbukak (), kang ndadékaké kanggo eksekusi nyata saka fungsi.
system(".qmail-extension"). Nanging amarga bagean "ekstensi" file digawe adhedhasar alamat panampa (contone, "localuser-extension@localdomain"), panyerang bisa ngatur supaya perintah kasebut dikirim kanthi nemtokake pangguna "localuser-; ;@localdomain" minangka panampa pesen.
Sajrone analisis kode, loro vulnerabilities uga dikenali ing tambahan qmail-verifikasi patch, kang bagéan saka paket kanggo Debian. Kerentanan pisanan (
Kanggo ngubengi masalah, Bernstein dianjurake kanggo mbukak pangolahan qmail kanthi watesan total ing memori sing kasedhiya ("softlimit -m12345678"), yen masalah kasebut diblokir. Minangka cara alternatif saka pangayoman, matesi ukuran maksimum pesen diproses liwat file "kontrol / databyte" uga kasebut (kanthi standar ora digawe karo setelan gawan qmail tetep ngrugekke). Kajaba iku, "kontrol / databyte" ora nglindhungi serangan lokal saka pangguna sistem, wiwit watesan mung dijupuk menyang akun dening qmail-smtpd.
Masalah mengaruhi paket
Source: opennet.ru