Kerentanan dalam modul ksmbd kernel Linux yang memungkinkan eksekusi kode jarak jauh

Dalam modul ksmbd, yang menawarkan implementasi server file berdasarkan protokol SMB yang dibangun di dalam kernel Linux, 14 kerentanan telah diidentifikasi, empat di antaranya memungkinkan eksekusi kode jarak jauh dengan hak kernel. Serangan dapat dilakukan tanpa otentikasi, cukup aktivasi modul ksmbd pada sistem. Masalah muncul dimulai dengan kernel 5.15, yang menyertakan modul ksmbd. Kerentanan diperbaiki dalam pembaruan kernel 6.3.2, 6.2.15, 6.1.28 dan 5.15.112. Anda dapat melacak perbaikan di distribusi pada halaman berikut: Debian, Ubuntu, Gentoo, RHEL, SUSE, Fedora, Gentoo, Arch.

Masalah yang teridentifikasi:

  • CVE-2023-32254, CVE-2023-32250, CVE-2023-32257, CVE-2023-32258 - Eksekusi kode jarak jauh dengan hak kernel karena kurangnya kunci objek yang tepat saat memproses permintaan eksternal yang berisi perintah SMB2_TREE_DISCONNECT, SMB2_SESSION_SETUP, SMB2_LOGOFF dan SMB2_CLOSE, yang menghasilkan kondisi balapan yang dapat dieksploitasi . Serangan dapat dilakukan tanpa melewati otentikasi.
  • CVE-2023-32256 - Konten area memori kernel bocor karena kondisi balapan saat memproses perintah SMB2_QUERY_INFO dan SMB2_LOGOFF. Serangan dapat dilakukan tanpa melewati otentikasi.
  • CVE-2023-32252, CVE-2023-32248 - Penolakan layanan jarak jauh karena dereferensi penunjuk nol saat memproses perintah SMB2_LOGOFF, SMB2_TREE_CONNECT dan SMB2_QUERY_INFO. Serangan dapat dilakukan tanpa melewati otentikasi.
  • CVE-2023-32249 - Kemungkinan pembajakan sesi pengguna karena kurangnya isolasi yang tepat saat memproses id sesi dalam mode multisaluran.
  • CVE-2023-32247, CVE-2023-32255 - Penolakan layanan karena kebocoran memori saat memproses perintah SMB2_SESSION_SETUP. Serangan dapat dilakukan tanpa melewati otentikasi.
  • CVE-2023-2593 - Penolakan layanan karena kehabisan memori yang tersedia, disebabkan oleh bug yang menyebabkan memori tidak dikembalikan saat memproses koneksi TCP baru. Serangan dapat dilakukan tanpa melewati otentikasi.
  • CVE-2023-32253 - Penolakan layanan karena terjadi kebuntuan saat memproses perintah SMB2_SESSION_SETUP. Serangan dapat dilakukan tanpa melewati otentikasi.
  • CVE-2023-32251 - Tidak ada perlindungan terhadap serangan brute force.
  • CVE-2023-32246 - Pengguna sistem lokal dengan hak untuk membongkar modul ksmbd dapat menyebabkan kode mereka dieksekusi di tingkat kernel Linux.

Selain itu, 5 kerentanan lainnya diidentifikasi dalam paket alat ksmbd, yang mencakup utilitas untuk mengelola dan bekerja dengan ksmbd yang berjalan di ruang pengguna. Kerentanan paling berbahaya (ZDI-CAN-17822, ZDI-CAN-17770, ZDI-CAN-17820, CVE belum ditetapkan) memungkinkan penyerang jarak jauh yang tidak diautentikasi untuk mengeksekusi kodenya sebagai root. Kerentanan disebabkan oleh kurangnya pemeriksaan ukuran data eksternal yang diterima sebelum menyalinnya ke buffer di kode layanan WKSSVC dan di penangan opcode LSARPC_OPNUM_LOOKUP_SID2 dan SAMR_OPNUM_QUERY_USER_INFO. Dua kerentanan lainnya (ZDI-CAN-17823, ZDI-CAN-17821) dapat menyebabkan penolakan layanan jarak jauh tanpa autentikasi.

Ksmbd disebut-sebut sebagai ekstensi berperforma tinggi dan siap tertanam untuk Samba, berintegrasi dengan alat dan pustaka Samba sesuai kebutuhan. Dukungan untuk menjalankan server SMB menggunakan modul ksmbd telah disertakan dalam paket Samba sejak rilis 4.16.0. Tidak seperti server SMB ruang pengguna, ksmbd lebih efisien dalam hal kinerja, konsumsi memori, dan integrasi dengan fitur kernel lanjutan. ksmbd ditulis oleh Namjae Jeon dari Samsung dan Hyunchul Lee dari LG, dan dikelola di dalam kernel oleh Steve French dari Microsoft, pemelihara subsistem CIFS/SMB2/SMB3 di kernel Linux dan anggota lama tim pengembangan Samba, yang memberikan kontribusi signifikan terhadap implementasi dukungan untuk protokol SMB / CIFS di Samba dan Linux.

Selain itu, dua kerentanan dapat dicatat dalam driver grafis vmwgfx yang digunakan untuk mengimplementasikan akselerasi 3D di lingkungan VMware. Kerentanan pertama (ZDI-CAN-20292) memungkinkan pengguna lokal untuk meningkatkan hak istimewa mereka di sistem. Kerentanan disebabkan oleh kurangnya pemeriksaan status buffer sebelum membebaskan saat memproses objek vmw_buffer_object, yang dapat menyebabkan panggilan ganda ke fungsi free. Kerentanan kedua (ZDI-CAN-20110) membocorkan isi memori kernel karena kesalahan dalam mengatur penguncian objek GEM.

Sumber: opennet.ru

Tambah komentar