Mengesan pepijat dalam pengumpul sampah Linux yang boleh membawa kepada peningkatan keistimewaan 

kerentanan sistemd

Beberapa hari yang lalu Jann Horn daripada pasukan Google Project Zero, yang sebelum ini mengenal pasti kelemahan Spectre dan Meltdown, memperkenalkan teknik untuk mengeksploitasi kelemahan ditemui dalam pengumpul sampah kernel Linux (CVE-2021-4083).

Kerentanan disebabkan oleh keadaan perlumbaan apabila deskriptor fail soket unix dibersihkan dan berkemungkinan membenarkan pengguna tempatan yang tidak mempunyai hak istimewa untuk melaksanakan kod anda pada peringkat kernel.

Masalahnya adalah menarik kerana tetingkap masa semasa keadaan perlumbaan berlaku telah dinilai sebagai terlalu kecil untuk mencipta kelemahan sebenar, tetapi pengarang kajian itu menunjukkan bahawa walaupun pada mulanya kelemahan yang ragu-ragu boleh menjadi sumber serangan sebenar jika pencipta kelemahan itu mempunyai kemahiran dan masa yang diperlukan.

Yann Horn menunjukkan bagaimana, dengan bantuan manipulasi kerawang, adalah mungkin untuk mengurangkan keadaan Acara perlumbaan yang berlaku apabila memanggil fungsi close() dan fget() pada masa yang sama kepada kerentanan bebas penggunaan yang dieksploitasi sepenuhnya dan mendapat akses kepada struktur data yang telah dibebaskan dalam kernel.

Keadaan perlumbaan berlaku semasa proses menutup deskriptor fail sambil memanggil fungsi close() dan fget() pada masa yang sama. Panggilan untuk menutup() boleh dilaksanakan sebelum fget() dilaksanakan, yang akan mengelirukan pengumpul item tidak digunakan kerana, menurut pengiraan semula, struktur fail tidak akan mempunyai rujukan luaran, tetapi akan kekal dilampirkan pada deskriptor fail, iaitu pengumpul sampah akan menganggap bahawa ia mempunyai akses eksklusif kepada struktur, tetapi sebenarnya untuk jangka masa yang singkat, entri yang tinggal dalam jadual deskriptor fail akan terus menunjukkan bahawa struktur sedang dibebaskan.

Untuk meningkatkan kebarangkalian memasuki keadaan perlumbaan, beberapa helah telah digunakan yang membolehkan untuk meningkatkan kebarangkalian kejayaan daripada pegangan pada 30% apabila melakukan pengoptimuman sistem tertentu. Sebagai contoh, untuk meningkatkan masa capaian kepada struktur dengan deskriptor fail sebanyak beberapa ratus nanosaat, data telah dikeluarkan daripada cache pemproses dengan mencemarkan cache dengan aktiviti pada teras CPU lain, yang memungkinkan untuk mengembalikan struktur daripada memori dan bukan cache pantas CPU.

Ciri penting kedua adalah penggunaan gangguan yang dijana oleh pemasa perkakasan untuk menambah masa perlumbaan. Masa dipilih supaya pengendali sampukan akan menembak semasa berlakunya keadaan perlumbaan dan menghentikan pelaksanaan kod untuk seketika. Untuk melambatkan lagi pemulangan kawalan, epoll menjana sekitar 50 ribu entri dalam baris gilir, yang memerlukan lelaran dalam pengendali gangguan.

Teknik eksploitasi kelemahan telah didedahkan selepas tempoh 90 hari tanpa pendedahan. Masalah

dan ia telah ditetapkan pada awal Disember. Pembaikan telah disertakan dalam kernel 5.16 dan juga dipindahkan ke cawangan LTS kernel dan pakej dengan kernel yang dibekalkan dalam pengedaran. Perlu diingatkan bahawa kerentanan telah dikenal pasti semasa analisis isu serupa CVE-2021-0920, yang menunjukkan dirinya dalam pemungut sampah semasa memproses bendera MSG_PEEK.

Satu lagi kelemahan yang ditemui baru-baru ini dalam kernel Linux, ia adalah CVE-2022 0742- bahawa boleh menghabiskan memori yang tersedia dan dari jauh menyebabkan penafian perkhidmatan dengan menghantar paket icmp6 yang direka khas. Isu ini berkaitan dengan kebocoran memori yang berlaku semasa memproses mesej ICMPv6 dengan jenis 130 atau 131.

Masalahnya telah wujud sejak kernel 5.13 dan telah diperbaiki dalam versi 5.16.13 dan 5.15.27. Isu ini tidak menjejaskan Debian, SUSE, Ubuntu LTS (18.04, 20.04) dan cawangan stabil RHEL, ia telah ditetapkan pada Arch Linux.

Akhirnya sekiranya anda berminat untuk mengetahui lebih lanjut mengenainya daripada nota, anda boleh menyemak butirannya 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.