Te whakaraerae i roto i nga roopu c1 e taea ai te mawhiti mai i tetahi ipu taratahi

Ko nga korero mo te whakaraeraetanga (CVE-2022-0492) i roto i te whakatinanatanga o te cgroups v1 tikanga here rawa i roto i te pata Linux, ka taea te whakamahi ki te mawhiti i nga ipu taratahi, kua whakaatuhia. Ko te raruraru mai i te Linux kernel 2.6.24 ka whakatikahia i roto i nga putanga kernel 5.16.12, 5.15.26, 5.10.97, 5.4.177, 4.19.229, 4.14.266, me 4.9.301. Ka taea e koe te whai i nga whakaputanga o nga whakahōutanga kete i roto i nga tohatoha ki enei wharangi: Debian, SUSE, Ubuntu, RHEL, Fedora, Gentoo, Arch Linux.

Ko te whakaraeraetanga na te hapa arorau i roto i te kaituku kōnae release_agent karekau e mahi i nga arowhai tika i te wa e whakahaere ana te kaihautu me nga painga katoa. Ka whakamahia te kōnae release_agent ki te tautuhi i te papatono ka mahia e te kernel ina ka mutu te tukanga i roto i te cgroup. Ka rere tenei papatono hei pakiaka me nga "kaha" katoa i roto i te mokowā ingoa pakiaka. I whakaarohia ko te kaiwhakahaere anake te whai waahi ki te whakatakotoranga tuku_agent, engari ko te mea pono he iti noa nga arowhai ki te tuku uru ki te kaiwhakamahi pakiaka, kaore i aukati i te whakarereketanga o te tautuhinga mai i te ipu, na tetahi kaiwhakamahi pakiaka kaore he mana kaiwhakahaere (CAP_SYS_ADMIN) ).

I mua, kare e kiia he ahua whakaraerae, engari kua rereke te ahuatanga i te taenga mai o nga mokowā ingoa kaiwhakamahi (kaiwhakamahi ingoa), ka taea e koe te hanga i nga kaiwhakamahi pakiaka motuhake i roto i nga ipu e kore e whiti ki te kaiwhakamahi pakiaka o te taiao matua. No reira, mo te whakaeke, he nui noa ki te hono atu i to kaihautu tuku_agent i roto i tetahi ipu kei a ia ake te kaiwhakamahi pakiaka i roto i tetahi waahi ID kaiwhakamahi motuhake, ka oti te mahi, ka mahia me nga painga katoa o te taiao matua.

Ma te taunoa, ka whakauruhia nga cgroupfs ki roto i te ipu i roto i te aratau panui-anake, engari karekau he raru ki te whakauru ano i enei pseudofs i roto i te aratau tuhi mena kei a koe nga mana CAP_SYS_ADMIN, ma te hanga ranei i tetahi ipu kohanga me tetahi ingoa kaiwhakamahi motuhake ma te whakamahi i te waea punaha wetewete. Kei te waatea nga mana CAP_SYS_ADMIN mo te ipu i hangaia.

Te whakaraerae i roto i nga roopu c1 e taea ai te mawhiti mai i tetahi ipu taratahi

Ka taea te whakaeke mena kei a koe nga painga pakiaka i roto i tetahi ipu taratahi, i te wa e whakahaere ana koe i tetahi ipu kaore he haki no_new_privs, e aukati ana i te whiwhi mana taapiri. Me whai tautoko te punaha mo nga ingoa ingoa kaiwhakamahi kua whakahohea (whakahohehia ma te taunoa i Ubuntu me Fedora, engari kaore i te whakahohehia i Debian me RHEL) me te uru ki te cgroup pakiaka v1 (hei tauira, ka whakahaerehia e Docker nga ipu i roto i te cgroup RDMA pakiaka). Ka taea hoki te whakaeke mena kei a koe nga mana CAP_SYS_ADMIN, na reira kaore e hiahiatia te tautoko mo nga waahi ingoa kaiwhakamahi me te uru ki te hierarchy pakiaka cgroup v1.

I tua atu i te mawhiti mai i te ipu taratahi, ka taea ano e te whakaraerae nga tukanga i whakarewahia e te kaiwhakamahi pakiaka kaore he "kaha" me tetahi kaiwhakamahi whai mana CAP_DAC_OVERRIDE (me uru te whakaeke ki te konae /sys/fs/cgroup/*/release_agent, ko na te pakiaka) kia uru atu ki nga "kaha" katoa.

E tohuhia ana kaore e taea te whakamahi i te whakaraeraetanga i te wa e whakamahi ana i nga tikanga tiaki Seccomp, AppArmor, SELinux ranei mo te wehe atu i nga ipu, na te mea ka aukati a Seccomp i te uru ki te waea unshare(), a kaore a AppArmor me SELinux e whakaae ki te whakauru i nga cgroupfs ki te aratau tuhi.

Source: opennet.ru

Tāpiri i te kōrero