ʻO nā pilikia aʻa kūloko i ka pahu hana hoʻokele Snap package

Ua ʻike ʻo Qualys i ʻelua mau nāwaliwali (CVE-2021-44731, CVE-2021-44730) i loko o ka pono snap-confine, hāʻawi ʻia 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ūʻolo paʻa ponoʻī. ma ke ano paopao. Hāʻawi nā nāwaliwali i kahi mea hoʻohana pono ʻole kūloko e hoʻokō i nā code me nā kuleana kumu ma ka ʻōnaehana. Hoʻoholo ʻia nā pilikia i kēia lā snapd package update no Ubuntu 21.10, 20.04 a me 18.04.

ʻO ka haʻahaʻa mua (CVE-2021-44730) e ʻae i ka hoʻouka ʻana ma o ka hoʻohana ʻana i nā loulou paʻakikī, akā pono e hoʻopau i ka ʻōnaehana pale paʻa paʻa (hoʻonohonoho sysctl fs.protected_hardlinks i 0). Hoʻokumu ʻia ka pilikia ma ka hōʻoia hewa ʻole o ka wahi o nā faila hoʻokō o nā polokalamu kōkua snap-update-ns a me snap-discard-ns e holo nei ma ke ʻano he kumu. Ua helu ʻia ke ala i kēia mau faila ma ka hana sc_open_snapd_tool() e pili ana i kona ala ponoʻī mai /proc/self/exe, e hiki ai iā ʻoe ke hana i kahi loulou paʻakikī e hoʻopaʻa i kāu papa kuhikuhi a kau i kāu mau mana ponoʻī o ka snap- update-ns a me snap-utilities ma kēia papa kuhikuhi discard-ns. Ma hope o ka holo ʻana ma kahi loulou paʻakikī, e hoʻomaka ka snap-confine me nā kuleana kumu i nā faila snap-update-ns a me snap-discard-ns mai ka papa kuhikuhi o kēia manawa, i pani ʻia e ka mea hoʻouka.

ʻO ka lua o ka nāwaliwali ke kumu o kahi kūlana lāhui a hiki ke hoʻohana ʻia i ka hoʻonohonoho paʻamau ʻo Ubuntu Desktop. No ka hana maikaʻi ʻana o ka hana ma Ubuntu Server, pono ʻoe e koho i kekahi o nā pūʻolo mai ka ʻāpana "Featured Server Snaps" i ke kau ʻana. ʻIke ʻia ke kūlana heihei ma ka hana setup_private_mount() i kāhea ʻia i ka wā o ka hoʻomākaukau ʻana o ka inoa wahi mauna no ka pūʻolo paʻi. Hoʻokumu kēia hana i kahi papa kuhikuhi no ka manawa pōkole "/tmp/snap.$SNAP_NAME/tmp" a i ʻole hoʻohana i kekahi mea i loaʻa e hoʻopaʻa i nā papa kuhikuhi no kahi puʻupuʻu paʻa i loko.

No ka mea hiki ke ʻike ʻia ka inoa o ka papa kuhikuhi manawaleʻa, hiki i ka mea hoʻouka ke hoʻololi i kāna ʻike 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 ke kelepona ʻōnaehana mauna. No ka laʻana, hiki iā ʻoe ke hana i kahi symlink "/tmp/snap.lxd/tmp" ma ka papa kuhikuhi /tmp/snap.lxd e kuhikuhi ana i kahi papa kuhikuhi hoʻopaʻapaʻa, a ʻo ke kelepona i ka mauna () e hahai i ka symlink a kau i ka papa kuhikuhi ma ka hoʻopaʻa inoa. Ma ke ala like, hiki iā ʻoe ke kau i kāu mau ʻike ma /var/lib a, ma ke pani ʻana i /var/lib/snapd/mount/snap.snap-store.user-fstab, e hoʻonohonoho i ke kau ʻana o kāu papa kuhikuhi /etc ma ka inoa inoa o ka pūʻolo snap e hoʻonohonoho i ka hoʻouka ʻana o kāu waihona me nā kuleana kumu ma ke pani ʻana i /etc/ld.so.preload.

Hoʻomaopopo ʻia ʻo ka hoʻokumu ʻana i kahi hoʻohana i lilo i mea hana ʻole, no ka mea ua kākau ʻia ka mea hoʻohana snap-confine ma Go me ka hoʻohana ʻana i nā ʻenehana hoʻonohonoho paʻa, loaʻa ka pale e pili ana i nā profiles AppArmor, nā kānana kelepona kelepona e pili ana i ka mīkini seccomp, a me nā hoʻohana. ka papa inoa mauna no ke kaawale. Eia naʻe, ua hiki i nā mea noiʻi ke hoʻomākaukau i kahi hana hana e loaʻa ai nā kuleana kumu ma ka ʻōnaehana. E paʻi ʻia ka code exploit i kekahi mau pule ma hope o ka hoʻokomo ʻana o nā mea hoʻohana i nā mea hou i hāʻawi ʻia.

Source: opennet.ru

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