Hoʻopilikia i nā hui v1 e hiki ai ke pakele mai kahi pahu kaʻawale

Ua hōʻike ʻia nā kikoʻī o kahi vulnerability (CVE-2022-0492) i ka hoʻokō ʻana i ka cgroups v1 resource limit mechanism in the Linux kernel, hiki ke hoʻohana ʻia e pakele i nā ipu kaʻawale. Aia ka pilikia mai ka Linux kernel 2.6.24 a ua hoʻopaʻa ʻia i nā hoʻokuʻu kernel 5.16.12, 5.15.26, 5.10.97, 5.4.177, 4.19.229, 4.14.266, a me 4.9.301. Hiki iā ʻoe ke hahai i nā paʻi ʻia o nā hōʻano hou o ka pōʻai ma nā māhele ma kēia mau ʻaoʻao: Debian, SUSE, Ubuntu, RHEL, Fedora, Gentoo, Arch Linux.

ʻO ka nāwaliwali ma muli o ka hewa loiloi i ka release_agent file handler i hiki ʻole ke hana i nā loiloi kūpono i ka wā e holo ai ka mea hoʻokele me nā pono piha. Hoʻohana ʻia ka faila release_agent e wehewehe i ka papahana e hoʻokō ʻia e ka kernel ke hoʻopau ʻia kahi kaʻina hana ma kahi cgroup. Holo kēia polokalamu ma ke ʻano he kumu a me nā "hiki" āpau i ka inoa inoa kumu. Ua manaʻo ʻia ʻo ka luna hoʻomalu wale nō ke komo i ka hoʻonohonoho release_agent, akā i ka ʻoiaʻiʻo, ua kaupalena ʻia nā loiloi i ka hāʻawi ʻana i ke komo i ka mea hoʻohana kumu, ʻaʻole ia e kāpae i ka hoʻololi ʻia ʻana o ka hoʻonohonoho ʻana mai ka ipu a i ʻole ka mea hoʻohana kumu me ka ʻole o nā kuleana luna (CAP_SYS_ADMIN). ).

Ma mua, ʻaʻole i manaʻo ʻia kahi hiʻohiʻona ma ke ʻano he palupalu, akā ua loli ke kūlana me ka hiki ʻana mai o nā inoa inoa mea hoʻohana (nā inoa inoa mea hoʻohana), e ʻae iā ʻoe e hana i nā mea hoʻohana aʻa kaʻawale i loko o nā ipu ʻaʻole i uhi ʻia me ka mea hoʻohana kumu o ka. kaiapuni nui. No laila, no ka hoʻouka ʻana, ua lawa ia e hoʻopili i kāu mea hoʻopuka release_agent i loko o kahi pahu i loaʻa i kāna mea hoʻohana ponoʻī i kahi kikowaena ID mea hoʻohana ʻokoʻa, a, ma hope o ka pau ʻana o ke kaʻina hana, e hoʻokō ʻia me nā pono piha o ke kaiapuni nui.

Ma ka maʻamau, ua kau ʻia nā cgroupfs i loko o kahi pahu ma ke ʻano heluhelu-wale nō, akā ʻaʻohe pilikia e kau hou i kēia mau pseudofs ma ke ʻano kākau inā loaʻa iā ʻoe nā kuleana CAP_SYS_ADMIN a i ʻole ma ka hana ʻana i kahi pahu nested me kahi inoa inoa hoʻohana kaʻawale me ka hoʻohana ʻana i ka unshare system call. Loaʻa nā kuleana CAP_SYS_ADMIN no ka ipu i hana ʻia.

Hoʻopilikia i nā hui v1 e hiki ai ke pakele mai kahi pahu kaʻawale

Hiki ke hoʻokō ʻia ka hoʻouka ʻana inā loaʻa iā ʻoe nā kuleana kumu i loko o kahi pahu kaʻawale a i ka wā e holo ana i kahi pahu me ka ʻole o ka hae no_new_privs, kahi e pāpā ai i ka loaʻa ʻana o nā pono hou. Pono ka ʻōnaehana i kākoʻo no nā inoa inoa mea hoʻohana i hiki ke hoʻohana ʻia (e hoʻohana ʻia e ka paʻamau ma Ubuntu a me Fedora, akā ʻaʻole i hoʻāla ʻia ma Debian a me RHEL) a loaʻa i ke kumu cgroup v1 (no ka laʻana, holo ʻo Docker i nā ipu i ke kumu RDMA cgroup). Hiki ke hoʻouka ʻia inā loaʻa iā ʻoe nā kuleana CAP_SYS_ADMIN, i ia manawa ʻaʻole pono ke kākoʻo no nā inoa inoa mea hoʻohana a me ke komo ʻana i ka cgroup v1 root hierarchy.

Ma waho aʻe o ka pakele ʻana mai kahi pahu kaʻawale, hiki i ka nāwaliwali ke ʻae i nā kaʻina hana i hoʻomaka ʻia e kahi mea hoʻohana kumu me ka ʻole o ka "hiki" a i ʻole kekahi mea hoʻohana me nā kuleana CAP_DAC_OVERRIDE (pono ka hoʻouka ʻana ke komo i ka faila /sys/fs/cgroup/*/release_agent, ʻo ia hoʻi. nona ka aʻa) e loaʻa ai ke komo i nā "hiki" ʻōnaehana āpau.

Hoʻomaopopo ʻia ʻaʻole hiki ke hoʻohana ʻia ka nāwaliwali i ka wā e hoʻohana ai i nā mīkini pale Seccomp, AppArmor a i ʻole SELinux no ka hoʻokaʻawale ʻana i nā ipu, no ka mea, ua hoʻopaʻa ʻo Seccomp i ke komo ʻana i ka unshare () system call, a ʻaʻole ʻae ʻo AppArmor a me SELinux i ke kau ʻana i nā cgroupfs ma ke ʻano kākau.

Source: opennet.ru

Pākuʻi i ka manaʻo hoʻopuka