ʻO ka nāwaliwali o ke aʻa i ka pahu hana hoʻokele Snap package

Ua ʻike ʻo Qualys i ke kolu o ka nāwaliwali pōʻino i kēia makahiki (CVE-2022-3328) i loko o ka mea hoʻohana snap-confine, e hele mai me ka hae aʻa SUID a kāhea ʻia e ke kaʻina snapd e hana i kahi kaiapuni hiki ke hoʻokō ʻia no nā noi i hāʻawi ʻia i loko o nā pūʻulu paʻa. ma ke ano paopao. Hāʻawi ka nāwaliwali i kahi mea hoʻohana pono ʻole kūloko e hoʻokō i ka hoʻokō code ma ke ʻano he kumu i ka hoʻonohonoho ʻo Ubuntu. Hoʻopaʻa ʻia ka pilikia ma snapd 2.57.6 hoʻokuʻu. Ua hoʻokuʻu ʻia nā hōʻano hou no nā lālā i kākoʻo ʻia o Ubuntu.

ʻO ka mea mahalo, ua hoʻokomo ʻia ka nāwaliwali i nīnau ʻia i ka wā o ke kaʻina hana o ka hoʻoponopono ʻana i kahi nāwaliwali o Pepeluali i ka snap-confine. Ua hiki i nā mea noiʻi ke hoʻomākaukau i kahi hana hana e hāʻawi ai i ke aʻa i ka Ubuntu Server 22.04, ʻo ia hoʻi, me ka nāwaliwali o ka snap-confine, pili pū kekahi i ʻelua mau nāwaliwali i ke kaʻina multipathd (CVE-2022-41974, CVE-2022-41973) , pili i ke kāʻalo ʻana i ka mana nānā i ka wā e hoʻoili ʻia ai nā kauoha pono a me ka hana palekana me nā loulou hōʻailona.

Hoʻokumu ʻia ka nāwaliwali o ka snap-confine ma muli o ke kūlana lāhui i ka hana must_mkdir_and_open_with_perms(), i hoʻohui ʻia e pale aku i ka hoʻololi ʻana o ka papa kuhikuhi /tmp/snap.$SNAP_NAME me kahi loulou hōʻailona ma hope o ka nānā ʻana i ka mea nona, akā ma mua o ke kāhea ʻana i ka ʻōnaehana mauna. E kāhea e hoʻopaʻa i nā papa kuhikuhi i loko o ia mea no kahi pūʻolo ma ke ʻano snap. ʻO ka pale i hoʻohui ʻia ʻo ka hoʻololi ʻana i ka papa kuhikuhi /tmp/snap.$SNAP_NAME i kahi papa kuhikuhi ʻē aʻe ma /tmp me ka inoa ʻole inā loaʻa ia a ʻaʻole nona ke kumu.

I ka hoʻohana ʻana i ka /tmp/snap.$SNAP_NAME papa kuhikuhi hoʻololi i ka hana, ua hoʻohana nā mea noiʻi i ka hana ʻana o snap-confine i kahi papa kuhikuhi /tmp/snap.rootfs_XXXXXX no ke kumu o nā ʻike o ka pūʻolo snap. Ua koho ʻia ka ʻāpana "XXXXXX" o ka inoa e mkdtemp (), akā hiki ke hōʻoia ʻia kahi pūʻolo i kapa ʻia ʻo "rootfs_XXXXXX" ma ka hana sc_instance_name_validate (ʻo ia ka manaʻo e hoʻonohonoho ʻia ʻo $SNAP_NAME i "rootfs_XXXXXX" a laila ka hana hou. e hopena i ke kākau hou ʻana i ka papa kuhikuhi /tmp/snap.rootfs_XXXXXX me ke kumu kumu).

No ka hoʻohana like ʻana o /tmp/snap.rootfs_XXXXXX a me ka hoʻololi ʻana i /tmp/snap.$SNAP_NAME, ua hoʻomaka ʻia ʻelua mau manawa o ka snap-confine. I ka manawa i hana ʻia ai ka laʻana mua /tmp/snap.rootfs_XXXXXX, e ālai ʻia ke kaʻina hana a e hoʻomaka ka lua me ka inoa pūʻolo rootfs_XXXXXX, e lilo ai ka papa kuhikuhi manawa pōkole /tmp/snap.$SNAP_NAME i ka papa kuhikuhi kumu /tmp/snap .rootfs_XXXXXX o ka mua. Ma hope koke iho o ka pau ʻana o ka inoa, hāʻule ka lua, a ua hoʻololi ʻia /tmp/snap.rootfs_XXXXXX me ka hoʻoponopono ʻana i ke kūlana lāhui, e like me ka hoʻohana ʻana i ka nāwaliwali o Pepeluali. Ma hope o ka hoʻololi ʻana, ua wehe ʻia ka laka hoʻokō mai ka manawa mua a ua loaʻa i nā mea hoʻouka ka mana piha ma luna o ka papa kuhikuhi snap root.

ʻO ka hana hope loa, ʻo ia ka hana ʻana i kahi symlink /tmp/snap.rootfs_XXXXXX/tmp, i hoʻohana ʻia e ka hana sc_bootstrap_mount_namespace() e hoʻopaʻa i ka papa kuhikuhi maoli hiki ke kākau ʻia /tmp i kekahi papa kuhikuhi ma ka ʻōnaehana faila, mai ka mount () kāhea. hahai i nā symlink ma mua o ka kau ʻana. Hoʻopaʻa ʻia kēlā mau kau ʻana e nā palena ʻo AppArmor, akā no ka haʻalele ʻana i kēia poloka, ua hoʻohana ka hoʻohana i ʻelua mau haʻahaʻa kōkua ma multipathd.

Source: opennet.ru

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