Mendeteksi bug di pengumpul sampah Linux yang dapat menyebabkan eskalasi hak istimewa 

kerentanan systemd

Beberapa hari yang lalu Jann Horn dari tim Google Project Zero, yang sebelumnya mengidentifikasi kerentanan Spectre dan Meltdown, meluncurkan teknik untuk mengeksploitasi kerentanan ditemukan di pengumpul sampah kernel Linux (CVE-2021-4083).

Kerentanan disebabkan oleh kondisi balapan ketika deskriptor file soket unix dibersihkan dan berpotensi memungkinkan pengguna lokal yang tidak memiliki hak untuk mengeksekusi kode Anda di tingkat kernel.

Masalahnya menarik karena jendela waktu selama kondisi balapan terjadi dinilai terlalu kecil untuk membuat kerentanan nyata, tetapi penulis studi menunjukkan bahwa kerentanan yang awalnya skeptis dapat menjadi sumber serangan nyata jika pembuat kerentanan memiliki keterampilan dan waktu yang diperlukan.

Yann Tanduk menunjukkan bagaimana, dengan bantuan manipulasi kerawang, adalah mungkin untuk mengurangi kondisi Peristiwa balapan yang terjadi saat memanggil fungsi close() dan fget() secara bersamaan ke kerentanan use-after-free yang sepenuhnya dieksploitasi dan mendapatkan akses ke struktur data yang sudah dibebaskan di dalam kernel.

Kondisi balapan terjadi selama proses menutup deskriptor file sambil memanggil fungsi close() dan fget() secara bersamaan. Panggilan ke close() dapat dieksekusi sebelum fget() dieksekusi, yang akan membingungkan kolektor item tidak digunakan karena, menurut refcount, struktur file tidak akan memiliki referensi eksternal, tetapi akan tetap dilampirkan ke deskriptor file, yaitu pengumpul sampah akan menganggap bahwa ia memiliki akses eksklusif ke struktur, tetapi sebenarnya untuk waktu yang singkat, entri yang tersisa di tabel deskriptor file akan terus menunjukkan bahwa struktur sedang dibebaskan.

Untuk meningkatkan kemungkinan memasuki kondisi balapan, beberapa trik digunakan yang memungkinkan untuk meningkatkan kemungkinan keberhasilan kepemilikan sebesar 30% saat melakukan optimasi sistem tertentu. Misalnya, untuk meningkatkan waktu akses ke struktur dengan deskriptor file beberapa ratus nanodetik, data dikeluarkan dari cache prosesor dengan mengotori cache dengan aktivitas pada inti CPU lain, yang memungkinkan untuk mengembalikan struktur dari memori dan bukan cache cepat CPU.

Fitur penting kedua adalah penggunaan interupsi yang dihasilkan oleh pengatur waktu perangkat keras untuk menambah waktu balapan. Waktu dipilih agar pengendali interupsi akan menyala selama terjadinya kondisi balapan dan eksekusi kode interupsi untuk sementara waktu. Untuk lebih menunda kembalinya kontrol, epoll menghasilkan sekitar 50 ribu entri dalam antrian, yang memerlukan iterasi di pengendali interupsi.

Tekniknya eksploitasi kerentanan diungkapkan setelah periode non-pengungkapan 90 hari. Masalah

dan itu diperbaiki pada awal Desember. Perbaikan disertakan dalam kernel 5.16 dan juga dipindahkan ke cabang LTS kernel dan paket dengan kernel yang disertakan dalam distribusi. Perlu dicatat bahwa kerentanan diidentifikasi selama analisis masalah serupa CVE-2021-0920, yang memanifestasikan dirinya dalam pengumpul sampah saat memproses flag MSG_PEEK.

Kerentanan lain yang ditemukan baru-baru ini di kernel Linux, itu adalah CVE-2022-0742 bahwa dapat menghabiskan memori yang tersedia dan menyebabkan penolakan layanan dari jarak jauh dengan mengirimkan paket icmp6 yang dibuat khusus. Masalah tersebut terkait dengan kebocoran memori yang terjadi saat memproses pesan ICMPv6 dengan tipe 130 atau 131.

Masalah telah muncul sejak kernel 5.13 dan telah diperbaiki pada versi 5.16.13 dan 5.15.27. Masalah ini tidak memengaruhi cabang stabil Debian, SUSE, Ubuntu LTS (18.04, 20.04) dan RHEL, itu diperbaiki di Arch Linux.

Akhirnya jika Anda tertarik untuk mengetahui lebih banyak tentangnya dari catatan, Anda dapat memeriksa detailnya di link berikut.


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.