Dua kerentanan ditemukan di Snap dan diizinkan untuk menjalankan kode sebagai root

Qualys diluncurkan berita yang saya identifikasi dua kerentanan (CVE-2021-44731 dan CVE-2021-44730) di utilitas snap-confine, dikirim dengan flag SUID root dan dipanggil oleh proses snapd untuk menghasilkan lingkungan yang dapat dieksekusi untuk aplikasi yang didistribusikan dalam paket snap.

Dalam posting blog disebutkan bahwa kerentanan memungkinkan pengguna lokal yang tidak memiliki hak untuk mencapai eksekusi kode sebagai root didalam sistem.

Kerentanan pertama memungkinkan serangan manipulasi tautan fisik, tetapi memerlukan penonaktifan perlindungan tautan keras sistem (dengan menyetel sysctl fs.protected_hardlinks ke 0).

Masalahnya itu karena verifikasi yang salah dari lokasi executable dari utilitas snap-update-ns dan snap-discard-ns yang dijalankan sebagai root. Jalur ke file-file ini dihitung dalam fungsi sc_open_snapd_tool() berdasarkan jalurnya sendiri dari /proc/self/exe, memungkinkan Anda membuat tautan keras untuk membatasi direktori Anda dan menempatkan opsi Anda ke snap-update-ns dan snap -buang-ns di direktori ini. Saat diluncurkan dari tautan keras, snap-confine sebagai root akan mengeksekusi file snap-update-ns dan snap-discard-ns yang digantikan penyerang dari direktori saat ini.

Eksploitasi yang berhasil dari kerentanan ini memungkinkan pengguna yang tidak memiliki hak istimewa untuk mendapatkan hak akses root pada host yang rentan. Peneliti keamanan Qualys telah dapat memverifikasi kerentanan secara independen, mengembangkan eksploit, dan mendapatkan hak akses root penuh pada instalasi default Ubuntu.

Segera setelah tim peneliti Qualys mengkonfirmasi kerentanan, kami terlibat dalam pengungkapan kerentanan yang bertanggung jawab dan berkoordinasi dengan vendor dan distribusi open source untuk mengumumkan kerentanan yang baru ditemukan ini.

Kerentanan kedua disebabkan oleh kondisi balapan dan dapat dieksploitasi dalam konfigurasi desktop default Ubuntu. Agar exploit berhasil bekerja di Server Ubuntu, Anda harus memilih salah satu paket dari bagian "Featured Server Snaps" selama instalasi.

kondisi balapan bermanifestasi dalam fungsi setup_private_mount() dipanggil selama persiapan namespace titik mount untuk paket instan. Fungsi ini membuat direktori sementara "/tmp/snap.$SNAP_NAME/tmp" atau menggunakan direktori yang sudah ada untuk menautkan dan memasang direktori untuk paket snap ke direktori tersebut.

Karena nama direktori sementara dapat diprediksi, penyerang dapat mengubah isinya menjadi tautan simbolik setelah memverifikasi pemiliknya, tetapi sebelum memanggil sistem mount. Misalnya, Anda dapat membuat symlink "/tmp/snap.lxd/tmp" di direktori /tmp/snap.lxd yang menunjuk ke direktori arbitrer dan panggilan mount() akan mengikuti symlink dan memasang direktori di ruang nama.

Demikian pula, Anda dapat memasang isinya di /var/lib dan, mengesampingkan /var/lib/snapd/mount/snap.snap-store.user-fstab, mengatur untuk memasang direktori /etc Anda di snap namespace paket untuk memuat perpustakaan Anda dari akses root dengan mengganti /etc/ld.so.preload.

Hal itu diamati membuat eksploitasi ternyata menjadi tugas yang tidak sepele, karena utilitas snap-confine ditulis menggunakan teknik pemrograman aman (snapd ditulis dalam Go, tetapi C digunakan untuk snap-confine), memiliki perlindungan berdasarkan profil AppArmor, memfilter panggilan sistem berdasarkan mekanisme seccomp dan menggunakan namespace mount untuk isolasi.

Namun, para peneliti dapat menyiapkan eksploitasi fungsional untuk mendapatkan akses root pada sistem. Kode eksploitasi akan dirilis beberapa minggu setelah pengguna menginstal pembaruan yang disediakan.

Akhirnya, perlu disebutkan bahwaMasalah telah diperbaiki dalam pembaruan paket snapd untuk Ubuntu versi 21.10, 20.04 dan 18.04.

Selain distribusi lain yang menggunakan Snap, Snapd 2.54.3 telah dirilis, yang, selain masalah di atas, memperbaiki kerentanan lain (CVE-2021-4120), yang memungkinkan, saat memasang paket plugin yang dirancang khusus, menimpa aturan AppArmor arbitrer dan melewati batasan akses yang ditetapkan untuk paket.

Jika Anda tertarik untuk mengetahuinya lebih jauh, Anda dapat memeriksa detailnya Di tautan berikut.


tinggalkan Komentar Anda

Alamat email Anda tidak akan dipublikasikan. Bidang yang harus diisi ditandai dengan *

*

*

  1. Penanggung jawab data: Miguel Ángel Gatón
  2. Tujuan data: Mengontrol SPAM, manajemen komentar.
  3. Legitimasi: Persetujuan Anda
  4. Komunikasi data: Data tidak akan dikomunikasikan kepada pihak ketiga kecuali dengan kewajiban hukum.
  5. Penyimpanan data: Basis data dihosting oleh Occentus Networks (UE)
  6. Hak: Anda dapat membatasi, memulihkan, dan menghapus informasi Anda kapan saja.