Menemui kelemahan dalam pelaksanaan TIPC kernel Linux

Baru-baru ini berita itu menyahkannya seorang penyelidik keselamatan mengenal pasti kelemahan kritikal (sudah disenaraikan di bawah CVE-2021-43267) dalam pelaksanaan protokol rangkaian TIPC dibekalkan dalam kernel Linux, yang membenarkan pelaksanaan jauh kod dengan keistimewaan kernel dengan menghantar paket rangkaian yang dibuat khas.

Bahaya masalah ini dikurangkan oleh fakta bahawa serangan memerlukan sokongan TIPC secara eksplisit pada sistem (dengan memuatkan dan mengkonfigurasi modul kernel tipc.ko), yang tidak dilakukan secara lalai pada pengedaran bukan Linux. khusus.

CodeQL ialah enjin analisis yang membolehkan anda menjalankan pertanyaan pada kod anda. Dari perspektif keselamatan, ini membolehkan anda mencari kelemahan hanya dengan menerangkan penampilannya. CodeQL kemudiannya akan disiarkan secara langsung dan mencari semua kejadian kelemahan itu.

TIPC telah disokong sejak kernel Linux 3.19, tetapi kod yang membawa kepada kerentanan telah disertakan dalam kernel 5.10.. Protokol TIPC pada asalnya dibangunkan oleh Ericsson, ia bertujuan untuk mengatur komunikasi antara proses dalam gugusan dan terutamanya diaktifkan pada nod gugusan.

TIPC boleh berfungsi kedua-dua melalui Ethernet dan melalui UDP (port rangkaian 6118). Dalam kes bekerja melalui Ethernet, serangan boleh dilakukan dari rangkaian tempatan, dan apabila UDP digunakan, dari rangkaian global, jika port tidak dilindungi oleh tembok api. Serangan juga boleh dilakukan oleh pengguna tempatan tanpa keistimewaan pada hos. Untuk mendayakan TIPC, anda mesti memuatkan modul kernel tipc.ko dan konfigurasikan pautan ke antara muka rangkaian menggunakan netlink atau utiliti tipc.

Protokol ini dilaksanakan dalam modul kernel yang digabungkan dengan semua pengedaran Linux utama. Apabila dimuatkan oleh pengguna, ia boleh digunakan sebagai penyambung dan boleh dikonfigurasikan dalam antara muka menggunakan netlink (atau menggunakan tipc alat ruang pengguna, yang akan membuat panggilan netlink ini) sebagai pengguna yang tidak mempunyai keistimewaan.

TIPC boleh dikonfigurasikan untuk beroperasi melalui protokol pembawa seperti Ethernet atau UDP (dalam kes kedua, kernel mendengar pada port 6118 untuk mesej masuk dari mana-mana mesin). Memandangkan pengguna berkepribadian rendah tidak boleh mencipta bingkai ethernet mentah, menetapkan pembawa kepada UDP memudahkan untuk menulis eksploitasi tempatan.

Kerentanan itu nyata dalam fungsi tipc_crypto_key_rc dan disebabkan oleh kekurangan pengesahan yang betul daripada surat-menyurat antara apa yang dinyatakan dalam pengepala dan saiz sebenar data semasa menganalisis paket dengan jenis MSG_CRYPTO yang digunakan untuk mendapatkan kunci penyulitan daripada nod lain dalam kelompok untuk kemudian menyahsulit mesej yang dihantar daripada nod ini.

Saiz data yang disalin ke dalam memori dikira sebagai perbezaan antara nilai medan dengan saiz mesej dan saiz pengepala, tetapi tanpa mengambil kira saiz sebenar nama algoritma penyulitan yang dihantar dalam mesej dan kandungan kunci.

Saiz nama algoritma diandaikan telah ditetapkan, dan sebagai tambahan atribut berasingan dengan saiz diluluskan untuk kunci, dan penyerang boleh menentukan nilai dalam atribut ini yang berbeza daripada nilai sebenar, yang akan membawa kepada menulis kepada baris gilir mesej keluar daripada penimbal yang diperuntukkan.

Kerentanan diperbaiki dalam kernel 5.15.0, 5.10.77 dan 5.14.16, walaupun masalah itu muncul dan masih belum diperbaiki dalam Debian 11, Ubuntu 21.04 / 21.10, SUSE (dalam cawangan SLE15-SP4 belum dikeluarkan), RHEL (belum terperinci jika penyelesaian terdedah telah dikemas kini) dan Fedora.

Walaupun kemas kini kernel telah pun dikeluarkan untuk Arch Linux dan pengedaran dengan kernel sebelum 5.10, seperti Debian 10 dan Ubuntu 20.04, tidak terjejas.

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