Mereka menemui kerentanan dalam subsistem Linux eBPF

Baru-baru ini berita itu menyahkannya kelemahan dikenal pasti (CVE-2021-29154) dalam subsistem eBPF, yang halMembolehkan pengesanan berjalan, analisis subsistem, dan pengawal kawalan lalu lintas berjalan di dalam kernel Linux dalam mesin maya JIT khas yang membolehkan pengguna tempatan menjalankan kod anda di peringkat kernel.

Menurut para penyelidik yang mengenal pasti kerentanan, mereka dapat mengembangkan prototaip eksploitasi yang berfungsi untuk sistem x86 32-bit dan 64-bit yang dapat digunakan oleh pengguna yang tidak berhak.

Pada masa yang sama Red Hat menyatakan bahawa keparahan masalah itu bergantung pada ketersediaan panggilan sistem eBPF. untuk pengguna. Sebagai contoh, pada RHEL dan sebilangan besar pengedaran Linux lain secara lalai, kerentanan dapat dieksploitasi apabila BPF JIT diaktifkan dan pengguna mempunyai hak CAP_SYS_ADMIN.

Masalah telah dijumpai di kernel Linux yang dapat disalahgunakan
pengguna tempatan yang tidak mempunyai hak istimewa untuk meningkatkan hak istimewa.

Masalahnya ialah bagaimana penyusun BPF JIT mengira sebilangan seni bina
Cabang offset semasa menghasilkan kod mesin. Ini boleh disalahgunakan
untuk membuat kod mesin yang tidak normal dan menjalankannya dalam mod kernel,
di mana aliran kawalan dirampas untuk melaksanakan kod yang tidak selamat.

Dan mereka memperincikannya masalah tersebut disebabkan oleh ralat yang dihasilkan semasa mengira ofset arahan bercabang semasa penyusun JIT yang menghasilkan kod mesin.

Secara khusus, disebutkan bahawa ketika menghasilkan arahan bercabang, tidak diambil kira bahawa perpindahan dapat berubah setelah melalui tahap pengoptimuman, sehingga kegagalan ini dapat digunakan untuk menghasilkan kod mesin yang tidak normal dan melaksanakannya di kernel tingkat.

Perlu diingatkan bahawa Ini bukan satu-satunya kerentanan dalam subsistem eBPF yang telah diketahui sejak beberapa tahun kebelakangan ini, kerana pada akhir bulan Mac, dua kerentanan lagi dikenal pasti di kernel (CVE-2020-27170, CVE-2020-27171), yang memberikan kemampuan untuk menggunakan eBPF untuk dapat memintas perlindungan terhadap kerentanan kelas Spectre, yang memungkinkan kandungan memori kernel ditentukan dan yang menghasilkan penciptaan syarat untuk pelaksanaan spekulatif operasi tertentu.

Serangan Spectre memerlukan adanya urutan perintah tertentu dalam kod istimewa, yang membawa kepada pelaksanaan arahan spekulatif. Dalam eBPF, beberapa cara telah dijumpai untuk menghasilkan arahan sedemikian dengan manipulasi dengan program BPF yang dihantar untuk pelaksanaannya.

  • Kerentanan CVE-2020-27170 disebabkan oleh manipulasi penunjuk pada pemeriksa BPF, yang menyebabkan operasi spekulatif memasuki kawasan di luar penyangga.
  • Kerentanan CVE-2020-27171 berkaitan dengan bug underflow integer ketika bekerja dengan pointer, yang mengarah ke akses spekulatif ke data out-of-buffer.

Masalah-masalah ini telah diperbaiki dalam versi kernel 5.11.8, 5.10.25, 5.4.107, 4.19.182, dan 4.14.227, dan telah dimasukkan dalam pembaruan kernel untuk sebilangan besar pengedaran Linux. Para penyelidik telah menyiapkan prototaip eksploitasi yang memungkinkan pengguna yang tidak berhak mendapatkan data dari memori kernel.

Bagi salah satu penyelesaiannya yang dicadangkan dalam Red Hat adalah:

Mitigasi:

Masalah ini tidak mempengaruhi kebanyakan sistem secara lalai. Pentadbir harus membolehkan JIT BPF terjejas.

Ia boleh dilumpuhkan dengan segera dengan arahan:

# echo 0 > /proc/sys/net/core/bpf_jit_enable

Atau boleh dilumpuhkan untuk semua boot sistem seterusnya dengan menetapkan nilai di /etc/sysctl.d/44-bpf -jit-disable

## start file ##
net.core.bpf_jit_enable=0</em>
end file ##

Akhirnya sekiranya anda berminat untuk mengetahui lebih lanjut mengenainya mengenai kerentanan ini, anda boleh menyemak butirannya di pautan berikut.

Perlu disebutkan bahawa masalahnya berlanjutan sehingga versi 5.11.12 (inklusif) dan belum dapat diselesaikan dalam sebilangan besar pengedaran, walaupun pembetulannya sudah ada. tersedia sebagai tampalan.


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.