Kerentanan dalam OverlayFS memungkinkan eskalasi hak istimewa

Kerentanan telah diidentifikasi di kernel Linux dalam implementasi sistem file OverlayFS (CVE-2023-0386), yang dapat digunakan untuk mendapatkan akses root pada sistem yang memiliki subsistem FUSE terinstal dan memungkinkan pemasangan partisi OverlayFS oleh orang yang tidak berhak user (dimulai dengan kernel Linux 5.11 dengan memasukkan namespace unprivileged user). Masalah telah diperbaiki di cabang kernel 6.2. Publikasi pembaruan paket dalam distribusi dapat dilacak di halaman: Debian, Ubuntu, Gentoo, RHEL, SUSE, Fedora, Arch.

Serangan dilakukan dengan menyalin file dengan flag setgid/setuid dari partisi yang dipasang dalam mode nosuid ke partisi OverlayFS yang memiliki lapisan yang terkait dengan partisi yang memungkinkan file suid untuk dieksekusi. Kerentanannya mirip dengan masalah CVE-2021-3847 yang diidentifikasi pada tahun 2021, tetapi berbeda dalam persyaratan eksploitasi yang lebih rendah - masalah lama memerlukan manipulasi xattrs, yang terbatas pada penggunaan ruang nama pengguna (user namespace), dan masalah baru menggunakan bit setgid /setuid yang tidak ditangani secara khusus di ruang nama pengguna.

Algoritme serangan:

  • Dengan bantuan subsistem FUSE, sistem file dipasang, di mana terdapat file yang dapat dieksekusi yang dimiliki oleh pengguna root dengan flag setuid / setgid, tersedia untuk semua pengguna untuk ditulis. Saat memasang, FUSE menyetel mode ke "nosuid".
  • Batalkan berbagi ruang nama pengguna dan titik pemasangan (ruang nama pengguna/pasang).
  • OverlayFS dipasang dengan FS yang sebelumnya dibuat di FUSE sebagai lapisan bawah dan lapisan atas berdasarkan direktori yang dapat ditulisi. Direktori lapisan atas harus ditempatkan di sistem file yang tidak menggunakan flag "nosuid" saat dipasang.
  • Untuk file suid di partisi FUSE, utilitas sentuh mengubah waktu modifikasi, yang menyebabkan penyalinannya ke lapisan atas OverlayFS.
  • Saat menyalin, kernel tidak menghapus flag setgid/setuid, yang menyebabkan file muncul di partisi yang dapat diproses oleh setgid/setuid.
  • Untuk mendapatkan hak root, cukup menjalankan file dengan flag setgid/setuid dari direktori yang dilampirkan ke lapisan atas OverlayFS.

Selain itu, kami dapat mencatat pengungkapan informasi oleh peneliti dari tim Google Project Zero tentang tiga kerentanan yang diperbaiki di cabang utama kernel Linux 5.15, tetapi tidak dipindahkan ke paket kernel dari RHEL 8.x/9.x dan Aliran CentOS 9.

  • CVE-2023-1252 - Mengakses area memori yang sudah dibebaskan di struktur ovl_aio_req sambil melakukan beberapa operasi pada saat yang sama di OverlayFS yang diterapkan di atas sistem file Ext4. Secara potensial, kerentanan memungkinkan Anda untuk meningkatkan hak istimewa Anda dalam sistem.
  • CVE-2023-0590 - Merujuk ke area memori yang sudah dibebaskan dalam fungsi qdisc_graft(). Operasi dianggap terbatas pada batal.
  • CVE-2023-1249 - Akses ke area memori yang sudah dibebaskan dalam kode entri coredump karena panggilan mmap_lock yang hilang di file_files_note. Operasi dianggap terbatas pada batal.

Sumber: opennet.ru

Tambah komentar