Kerentanan ditemukan di Ghostscript yang memungkinkan eksekusi kode

Beberapa yang lalu hari mereka merilis berita dari apa yang diidentifikasi kerentanan di Ghostscript (CVE-2020-15900) apa yang bisa menyebabkan modifikasi file dan eksekusi perintah sewenang-wenang saat membuka dokumen PostScript yang diformat khusus.

Bagi mereka yang tidak terbiasa dengan Ghostscript harus tahu itu ini adalah mesin rendering untuk Postscript dan konten PDF dan biasanya digunakan untuk mengonversi dokumen PDF dan Postscript menjadi gambar untuk pratinjau, thumbnail, dan tujuan pencetakan.

Ini juga digunakan untuk reproduksi dokumen berkualitas penuh bagi banyak penampil PDF, termasuk penampil populer di Android, dan dilisensikan oleh beberapa perusahaan besar seperti Google untuk rendering di cloud.

Tentang kerentanan di Ghostscript

Bug diidentifikasi dalam penggunaan operator rsearch PostScript non-standar dalam dokumen yang memungkinkan untuk menyebabkan luapan tipe uint32_t saat menghitung ukuran, menimpa area memori dari buffer ditugaskan dan mendapatkan akses ke file pada sistem file, yang dapat digunakan untuk melakukan serangan guna mengeksekusi kode arbitrer pada sistem (misalnya, dengan menambahkan perintah ke ~ / .bashrc atau ~ / .profile).

Cuplikan yang ditemukan oleh AFL mendorong string kosong ke tumpukan: tanda kurung kosong (), menyalin referensi ke sini, menghasilkan tumpukan dengan dua string kosong () () dan kemudian melakukan pencarian terbalik. Dengan kata lain, itu mencari string kosong dalam string kosong, dimulai dari akhir.

Sayangnya mereka melewatkan kasus garis batas di mana string kosong dicari. Saat mencari string kosong, ini didefinisikan sebagai sukses langsung: tidak ada yang perlu dicari, jadi kami melompat ke bagian akhir. Namun, hasilnya harus dibagi menjadi nilai pra-pertandingan, pertandingan, dan pasca-pertandingan. Sayangnya, kode tersebut mengasumsikan bahwa kami telah melihat setidaknya satu kali dan salah menghitung panjang hasil pasca-pertandingan dengan mengurangkan satu dari nol, menghasilkan pengembalian ke nilai maksimum: 4,294,967,295.

Kesalahan ini itu adalah cacat kerusakan memori di mana ada kemungkinan kegagalan dan itu terjadi setiap saat. Tidak perlu berurusan dengan penjaga tumpukan, dll., Cukup baca dan tulis apa pun yang Anda inginkan dalam segmen memori yang sangat besar. Ini membuatnya cukup mudah bagi seseorang yang bukan penulis exploit berpengalaman untuk mengeksploitasinya.

Karena aliran bawah ini, string ini tidak pernah dialokasikan dan tidak menggunakan ruang nyata, tetapi memiliki panjang yang diperpanjang ke memori lain. Mencoba membaca atau menulis bahwa memori di alamat acak akan keluar dari batas memori, karenanya semua kegagalan yang kabur. Namun, kami dapat menyimpan referensi untuk mengizinkan penggunaannya menggunakan cuplikan kode ini:

Penting untuk diperhatikan kerentanan di Ghostscript lebih seriuskarena paket ini digunakan di banyak aplikasi pemrosesan PostScript dan PDF yang populer. Misalnya, Ghostscript dipanggil saat membuat gambar mini di desktop, saat mengindeks data di latar belakang, dan saat mengonversi gambar.

Untuk serangan yang berhasil, dalam banyak kasus, cukup mengunduh file exploit atau menjelajahi direktori dengannya di Nautilus.

Kerentanan di Ghostscript juga dapat dieksploitasi melalui driver gambar berdasarkan paket ImageMagick dan GraphicsMagick, meneruskan file JPEG atau PNG, yang berisi kode PostScript dan bukan gambar (file ini akan diproses dalam Ghostscript, karena jenis MIME dikenali oleh konten, dan tanpa bergantung pada ekstensinya).

Larutan

Masalah ini memengaruhi versi 9.50 hingga 9.52 (Bug telah ada sejak versi 9.28rc1, tetapi menurut peneliti yang mengidentifikasi kerentanan, itu muncul sejak versi 9.50).

Tapi perbaikan sudah diusulkan di versi 9.52.1 selain itu danpembaruan telah diterbitkan paket patch untuk beberapa distribusi Linux seperti Debian, Ubuntu dan SUSE.

Sedangkan paket di RHEL tidak terpengaruh.

sumber: https://insomniasec.com


tinggalkan Komentar Anda

Alamat email Anda tidak akan dipublikasikan. Bidang yang harus diisi ditandai dengan *

*

*

  1. Bertanggung jawab atas data: AB Internet Networks 2008 SL
  2. Tujuan data: Mengontrol SPAM, manajemen komentar.
  3. Legitimasi: Persetujuan Anda
  4. Komunikasi data: Data tidak akan dikomunikasikan kepada pihak ketiga kecuali dengan kewajiban hukum.
  5. Penyimpanan data: Basis data dihosting oleh Occentus Networks (UE)
  6. Hak: Anda dapat membatasi, memulihkan, dan menghapus informasi Anda kapan saja.