Kerentanan dina cgroups v1 anu ngamungkinkeun kabur tina wadahna terasing

Rincian kerentanan (CVE-2022-0492) dina palaksanaan mékanisme watesan sumberdaya cgroups v1 dina kernel Linux, anu tiasa dianggo pikeun ngémutan wadah terasing, parantos diungkabkeun. Masalahna parantos aya ti saprak kernel Linux 2.6.24 sareng dibenerkeun dina sékrési kernel 5.16.12, 5.15.26, 5.10.97, 5.4.177, 4.19.229, 4.14.266, sareng 4.9.301. Anjeun tiasa nuturkeun publikasi apdet pakét dina distribusi dina kaca ieu: Debian, SUSE, Ubuntu, RHEL, Fedora, Gentoo, Arch Linux.

Kerentananna disababkeun ku kasalahan logika dina panangan file release_agent anu gagal ngalaksanakeun pamariksaan anu leres nalika ngajalankeun pawang kalayan hak husus pinuh. File release_agent dipaké pikeun nangtukeun program nu bakal dieksekusi ku kernel lamun prosés di cgroup terminated. Program ieu dijalankeun salaku akar sareng sadaya "kamampuhan" dina rohangan ngaran akar. Dianggap yén ngan ukur administrator anu ngagaduhan aksés kana setélan release_agent, tapi kanyataanna cek dugi ka masihan aksés ka pangguna akar, anu henteu ngaleungitkeun setélan anu dirobih tina wadahna atanapi ku pangguna akar tanpa hak administrator (CAP_SYS_ADMIN). ).

Saméméhna, fitur saperti teu bakal geus katarima salaku kerentanan, tapi kaayaan geus robah ku mecenghulna ngaran spasi pamaké (spasi ngaran pamaké), nu ngidinan Anjeun pikeun nyieun pamaké root misah dina wadahna nu teu tumpang tindih jeung pamaké root. lingkungan utama. Sasuai, pikeun serangan, éta cukup pikeun nyambungkeun release_agent Handler anjeun dina wadah nu boga root pamaké sorangan dina spasi ID pamaké misah, nu, sanggeus completing prosés, bakal dieksekusi kalawan hak husus pinuh ku lingkungan utama.

Sacara standar, cgroupfs dipasang dina wadahna dina modeu baca wungkul, tapi teu aya masalah pikeun masang deui pseudofs ieu dina modeu tulis upami anjeun gaduh hak CAP_SYS_ADMIN atanapi ku cara nyiptakeun wadah bersarang sareng ruang ngaran pangguna anu misah nganggo telepon sistem unshare, dimana Hak CAP_SYS_ADMIN sayogi pikeun wadah anu diciptakeun.

Kerentanan dina cgroups v1 anu ngamungkinkeun kabur tina wadahna terasing

Serangan tiasa dilaksanakeun upami anjeun ngagaduhan hak-hak akar dina wadah anu terasing atanapi nalika ngajalankeun wadahna tanpa bandéra no_new_privs, anu ngalarang kéngingkeun hak istimewa tambahan. Sistim nu kudu boga rojongan pikeun ngaranspasi pamaké diaktipkeun (diaktipkeun sacara standar di Ubuntu jeung Fedora, tapi teu diaktipkeun dina Debian na RHEL) sarta miboga aksés ka root cgroup v1 (Contona, Docker ngajalankeun peti dina akar RDMA cgroup). Serangan éta ogé mungkin upami anjeun gaduh hak istimewa CAP_SYS_ADMIN, dimana dukungan pikeun rohangan ngaran pangguna sareng aksés kana hierarki akar cgroup v1 henteu diperyogikeun.

Salian kabur tina wadah anu terasing, kerentanan ogé ngamungkinkeun prosés anu diluncurkeun ku pangguna akar tanpa "kamampuan" atanapi pangguna anu ngagaduhan hak CAP_DAC_OVERRIDE (seranganna peryogi aksés kana file /sys/fs/cgroup/*/release_agent, nyaéta milik root) pikeun meunangkeun aksés ka sadaya "kamampuan" sistemik.

Ieu dicatet yén kerentanan teu bisa dieksploitasi nalika ngagunakeun Seccomp, AppArmor atanapi mékanisme panyalindungan SELinux pikeun isolasi tambahan tina wadahna, saprak Seccomp blok aksés ka unshare () panggero sistem, sarta AppArmor na SELinux teu ngidinan ningkatna cgroupfs dina mode nulis.

sumber: opennet.ru

Tambahkeun komentar