Mereka mendapati kelemahan dalam cgroups v1 yang membolehkan keluar dari bekas terpencil

Beberapa hari yang lalu berita itu dikeluarkan butiran telah didedahkan kelemahan yang ditemui dalam pelaksanaan mekanisme tersebut had sumber cgroup v1 dalam kernel Linux yang telah dikatalogkan di bawah CVE-2022-0492.

Keterdedahan ini mendapati se boleh digunakan untuk keluar dari bekas terpencil dan diperincikan bahawa masalah itu telah wujud sejak kernel Linux 2.6.24.

Dalam catatan blog disebutkan bahawa kelemahan adalah disebabkan oleh ralat logik dalam pengendali fail release_agent, jadi pemeriksaan yang betul tidak dilakukan apabila pemandu dijalankan dengan kebenaran penuh.

Fail ini release_agent digunakan untuk menentukan program yang kernel laksanakan apabila sesuatu proses berakhir dalam kumpulan c. Program ini berjalan sebagai akar dengan semua "keupayaan" dalam ruang nama akar. Hanya pentadbir sepatutnya mempunyai akses kepada konfigurasi release_agent, tetapi pada hakikatnya, semakan terhad kepada memberikan akses kepada pengguna root, yang tidak menghalang perubahan konfigurasi daripada bekas atau oleh pengguna root bukan pentadbiran (CAP_SYS_ADMIN ) .

Sebelum ini, ciri ini tidak akan dianggap sebagai kelemahan, tetapi keadaan telah berubah dengan kemunculan ruang nama pengecam pengguna (ruang nama pengguna), yang membolehkan anda membuat pengguna akar berasingan dalam bekas yang tidak bertindih dengan pengguna akar persekitaran utama.

Oleh itu, untuk serangan, ia cukup dalam bekas yang mempunyai pengguna akarnya sendiri dalam ruang id pengguna yang berasingan untuk memasangkan pengendali release_agent anda, yang, setelah proses selesai, akan berjalan dengan semua keistimewaan persekitaran induk.

Secara lalai, cgroupfs dipasang dalam bekas baca sahaja, tetapi tiada masalah untuk memasang semula pseudofs ini dalam mod tulis dengan hak CAP_SYS_ADMIN atau dengan mencipta bekas bersarang dengan ruang nama pengguna yang berasingan menggunakan panggilan sistem untuk berhenti berkongsi, di mana hak CAP_SYS_ADMIN tersedia untuk bekas yang dibuat.

Serangan itu boleh dilakukan dengan mempunyai keistimewaan akar dalam bekas terpencil atau dengan menjalankan bekas tanpa bendera no_new_privs, yang melarang mendapat keistimewaan tambahan.

Sistem mesti mempunyai sokongan untuk ruang nama yang didayakan pengguna (didayakan secara lalai pada Ubuntu dan Fedora, tetapi tidak didayakan pada Debian dan RHEL) dan mempunyai akses kepada cgroup v1 root (contohnya, Docker menjalankan bekas dalam cgroup akar RDMA). Serangan itu juga boleh dilakukan dengan keistimewaan CAP_SYS_ADMIN, dalam hal ini sokongan untuk ruang nama pengguna dan akses kepada hierarki akar cgroup v1 tidak diperlukan.

Selain keluar dari bekas terpencil, kerentanan juga membenarkan proses yang dimulakan oleh pengguna akar tanpa "keupayaan" atau mana-mana pengguna dengan hak CAP_DAC_OVERRIDE (serangan memerlukan akses kepada fail /sys/fs/cgroup/*/release_agent yang dimiliki oleh root) untuk mendapatkan akses kepada semua "keupayaan" sistem.

Selain daripada bekas, kelemahan juga mungkin membenarkan proses hos akar tanpa keupayaan, atau proses hos bukan akar dengan keupayaan CAP_DAC_OVERRIDE, untuk meningkatkan keistimewaan kepada keupayaan penuh. Ini mungkin membenarkan penyerang memintas langkah pengerasan yang digunakan oleh perkhidmatan tertentu, yang mengalih keluar keupayaan dalam usaha untuk mengehadkan kesan jika kompromi berlaku.

Unit 42 mengesyorkan pengguna menaik taraf kepada versi kernel tetap. Bagi bekas yang menjalankan, dayakan Seccomp dan pastikan AppArmor atau SELinux didayakan. Pengguna Prisma Cloud boleh merujuk kepada bahagian "Perlindungan Awan Prisma" untuk melihat pengurangan yang disediakan oleh Prisma Cloud.

Ambil perhatian bahawa kelemahan tidak boleh dieksploitasi apabila menggunakan mekanisme perlindungan Seccomp, AppArmor atau SELinux untuk pengasingan bekas tambahan, kerana Seccomp menyekat panggilan sistem unshare() dan AppArmor dan SELinux tidak membenarkan cgroupfs dipasang dalam mod tulis.

Akhir sekali, perlu dinyatakan bahawa ia telah ditetapkan dalam versi kernel 5.16.12, 5.15.26, 5.10.97, 5.4.177, 4.19.229, 4.14.266 dan 4.9.301. Anda boleh mengikuti keluaran kemas kini pakej dalam pengedaran pada halaman ini: DebianSUSEUbuntuRHELFedoraGentooArch Linux.

Akhirnya sekiranya anda berminat untuk mengetahui lebih lanjut mengenainya, anda boleh menyemak butiran di pautan berikut.


Tinggalkan komen anda

Alamat email anda tidak akan disiarkan. Ruangan yang diperlukan ditanda dengan *

*

*

  1. Bertanggungjawab atas data: Miguel Ángel Gatón
  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.