Kerentanan Akar dina Snap Package Management Toolkit

Qualys parantos ngaidentipikasi kerentanan bahaya katilu taun ieu (CVE-2022-3328) dina utilitas snap-confine, anu hadir sareng bandéra akar SUID sareng disebat ku prosés snapd pikeun nyiptakeun lingkungan anu tiasa dieksekusi pikeun aplikasi anu disebarkeun dina bungkusan mandiri. dina format snap. Kerentanan ngamungkinkeun pamaké lokal unprivileged pikeun ngahontal palaksanaan kode salaku root dina konfigurasi standar Ubuntu. Masalahna dibereskeun dina pelepasan snapd 2.57.6. Pembaruan pakét parantos dileupaskeun pikeun sadaya cabang Ubuntu anu dirojong.

Narikna, kerentanan anu ditaroskeun diwanohkeun nalika prosés ngalereskeun kerentanan Pébruari anu sami dina snap-confine. Panaliti tiasa nyiapkeun eksploitasi kerja anu nyayogikeun aksés root ka Ubuntu Server 22.04, anu, salian ti kerentanan dina snap-confine, ogé ngalibatkeun dua kerentanan dina prosés multipathd (CVE-2022-41974, CVE-2022-41973) , Dikaitkeun jeung bypassing cék otoritas nalika pangiriman paréntah hak husus jeung karya unsafe kalawan tumbu simbolis.

Kerentanan dina snap-confine disababkeun ku kaayaan lomba dina must_mkdir_and_open_with_perms () fungsi, ditambahkeun ngajaga ngalawan substitusi tina /tmp/snap.$ diréktori SNAP_NAME kalawan tumbu simbolis sanggeus mariksa nu boga, tapi saméméh nelepon sistem Gunung. nelepon ka ngabeungkeut-Gunung directories kana eta pikeun pakét dina format snap. Perlindungan tambahan nya éta ngaganti ngaran diréktori /tmp/snap.$SNAP_NAME ka diréktori séjén di /tmp kalawan ngaran acak lamun aya tur teu dipiboga ku root.

Nalika ngamangpaatkeun operasi ngaganti ngaran diréktori /tmp/snap.$SNAP_NAME, panalungtik ngamangpaatkeun kanyataan yén snap-confine ogé nyieun diréktori /tmp/snap.rootfs_XXXXXX pikeun akar eusi pakét snap. Bagian "XXXXXX" tina nami dipilih sacara acak ku mkdtemp (), tapi pakét anu namina "rootfs_XXXXXX" tiasa disahkeun dina fungsi sc_instance_name_validate (nyaéta idena nyaéta $ SNAP_NAME bakal disetel ka "rootfs_XXXXXX" teras operasi ngaganti ngaran. bakal ngahasilkeun pikeun nimpa diréktori /tmp/snap.rootfs_XXXXXX sareng root snap).

Pikeun ngahontal pamakéan sakaligus tina /tmp/snap.rootfs_XXXXXX jeung ngaganti ngaran /tmp/snap.$SNAP_NAME, dua instansi snap-confine diluncurkeun. Sakali instance kahiji dijieun /tmp/snap.rootfs_XXXXXX, prosésna bakal meungpeuk sarta conto kadua bakal dimimitian ku ngaran pakét rootfs_XXXXXX, ngabalukarkeun diréktori samentara instansi kadua /tmp/snap.$SNAP_NAME jadi root directory /tmp/snap .rootfs_XXXXXX nu kahiji. Langsung saatos ngaganti ngaran ieu réngsé, instansi kadua nabrak, sarta /tmp/snap.rootfs_XXXXXX diganti ku manipulasi kaayaan lomba, sakumaha nalika exploiting kerentanan Pébruari. Saatos substitusi, konci palaksanaan dicabut tina conto munggaran sareng panyerang ngagaduhan kontrol pinuh kana diréktori akar snap.

Lengkah panungtungan nyaéta nyieun symlink /tmp/snap.rootfs_XXXXXX/tmp, nu dipaké ku sc_bootstrap_mount_namespace () fungsi pikeun ngabeungkeut-Gunung diréktori nyata ditulis / tmp kana diréktori mana wae dina sistem file, saprak Gunung () nelepon. nuturkeun symlinks sateuacan dipasang. Pamasangan sapertos diblokir ku larangan AppArmor, tapi pikeun ngaliwat blok ieu, eksploitasi ngagunakeun dua kerentanan bantu dina multipathd.

sumber: opennet.ru

Tambahkeun komentar