Mereka mengesan kelemahan dalam pemacu exFAT Linux 

kelemahan

Jika dieksploitasi, kelemahan ini boleh membenarkan penyerang mendapat akses tanpa kebenaran kepada maklumat sensitif atau secara amnya menyebabkan masalah

Beberapa hari lalu berita itu tersebar kelemahan dikesan (sudah disenaraikan di bawah CVE-2023-4273) dalam pemacu untuk sistem fail exFAT dibekalkan dalam kernel Linux.

Masalaha terletak pada fakta bahawa pengawal membenarkan apabila memasang partition yang direka khas, (cth. dengan memasangkan USB Flash berniat jahat), mencapai limpahan tindanan dan jalankan kod anda dengan hak kernel.

Masalahnya ialah: kod menganggap bahawa input nama fail sentiasa menghasilkan nama fail bercantum yang sesuai dengan 255 aksara (had ialah 258 aksara, termasuk 1 aksara tambahan untuk bait nol dan 2 aksara tambahan untuk penukaran) . Menyimpan lebih daripada 255 aksara nama fail dalam satu set entri direktori ialah pelanggaran format sistem fail, tetapi pemacu Linux menerimanya, tetapi ia juga mengakibatkan limpahan tindanan (kerana nama fail digabungkan dalam pembolehubah yang diperuntukkan oleh tindanan).

Mengenai kelemahan, disebutkan bahawa, inis dieksploitasi kerana kegagalan pengesahan saiz Menyalin nama fail ke penimbal yang diperuntukkan pada tindanan menghasilkan limpahan tindanan kernel jika nama fail yang sangat panjang dibekalkan yang melebihi had sistem fail sebanyak 255 aksara.

Fungsi exfat_extract_uni_name() berhenti menyalin aksara ke penimbal destinasi sebaik sahaja aksara null (0x0000) ditemui dan mengembalikan bilangan aksara yang disalin. Tetapi pemanggil mengabaikan nilai pulangan dan memajukan penunjuk 15 aksara (30 bait) untuk lelaran seterusnya. Oleh itu, adalah mungkin untuk melangkau (membiarkan utuh) 14 aksara atau 28 bait dalam satu lelaran. 

Kerentanan hadir dalam fungsi yang melakukan pembinaan semula nama panjang Membaca rekod secara kitaran dengan bahagian nama fail daripada indeks direktori dan menggabungkan bahagian nama yang terhasil ke dalam nama panjang akhir.

Semakan saiz dalam kod yang dikatakan fungsi telah dilakukan berhubung dengan setiap entri dengan sebahagian daripada nama, tetapi tidak meliputi nama akhir (contohnya, nama boleh dibahagikan kepada 100 bahagian dan mencapai 1500 aksara dan bukannya 258 aksara dalam penampan).

Penyiasat yang menemui kelemahan itu dapat menyediakan prototaip eksploitasi yang membolehkan anda meningkatkan keistimewaan anda pada sistem. Apabila diuji pada mesin maya VirtualBox, eksploitasi berfungsi 100% sepanjang masa, tetapi apabila dijalankan dalam persekitaran biasa yang berjalan di atas perkakasan, kemungkinan ia mencetuskan menurun kepada kira-kira 50%.

Khususnya, eksploitasi saya menimpa penuding yang diperuntukkan tindanan kepada rentetan yang ditamatkan nol, jadi percubaan seterusnya untuk menambah aksara yang ditamatkan nol pada rentetan ini sebenarnya menjadi memori primitif "tulis bait nol ke lokasi". penyerang.

Juga disebutkan bahawa kerentanan boleh digunakan untuk menjejaskan kernel yang dibut dalam mod UEFI Secure Boot, seperti yang dinyatakan bahawa imej yang mengandungi kernel yang terdedah, dengan skrip but yang sepadan (dan eksploitasi sudah tentu), yang but sebelum sistem pengendalian sebenar, diletakkan pada pemacu but. Apabila dimulakan, imej ini memuatkan modul kernel yang berniat jahat (dan tidak ditandatangani), yang menetapkan kawalannya ke atas mod kernel dan kemudian beralih kepada sistem pengendalian sebenar (contohnya, menggunakan panggilan kexec).

Akhir sekali, perlu disebutkan bahawa masalah itu telah diperbaiki dalam versi Linux yang masih disokong. Pada masa pendedahan kerentanan itu, versi Kernel Linux terkini ialah versi Linux 6.4.10, tetapi versi baharu 6.5 sudah mempunyai pembetulan.

Bagi mereka yang berminat untuk menjejaki penyelesaian dalam pengedaran yang berbeza, mereka boleh melakukannya dari halaman berikut: DebianUbuntu, RHELSUSE Fedora.

Jika anda berminat untuk mengetahui lebih lanjut mengenainya, anda boleh menyemak butiran di pautan berikut.


Tinggalkan komen anda

Alamat email anda tidak akan disiarkan. Ruangan yang diperlukan ditanda dengan *

*

*

  1. Bertanggungjawab untuk data: AB Internet Networks 2008 SL
  2. Tujuan data: Mengendalikan SPAM, pengurusan komen.
  3. Perundangan: Persetujuan anda
  4. Komunikasi data: Data tidak akan disampaikan kepada pihak ketiga kecuali dengan kewajiban hukum.
  5. Penyimpanan data: Pangkalan data yang dihoskan oleh Occentus Networks (EU)
  6. Hak: Pada bila-bila masa anda boleh menghadkan, memulihkan dan menghapus maklumat anda.