Ang pagkahuyang sa gamut sa toolkit sa pagdumala sa pakete sa Snap

Giila sa Qualys ang ikatulo nga peligro nga pagkahuyang karong tuiga (CVE-2022-3328) sa snap-confine utility, nga kauban ang SUID root flag ug gitawag sa proseso sa snapd aron maghimo usa ka executable nga palibot alang sa mga aplikasyon nga giapod-apod sa mga pakete nga adunay kaugalingon. sa snap format. Ang pagkahuyang nagtugot sa usa ka lokal nga dili pribilihiyo nga tiggamit nga makab-ot ang pagpatuman sa code isip gamut sa default nga configuration sa Ubuntu. Ang isyu naayo sa snapd 2.57.6 nga pagpagawas. Gipagawas na ang mga update sa package para sa tanang gisuportahan nga sanga sa Ubuntu.

Makapainteres, ang pagkahuyang nga gikuwestiyon gipaila sa panahon sa proseso sa pag-ayo sa parehas nga pagkahuyang sa Pebrero sa snap-confine. Ang mga tigdukiduki nakahimo sa pag-andam sa usa ka nagtrabaho nga pagpahimulos nga naghatag og root access sa Ubuntu Server 22.04, nga, dugang pa sa kahuyang sa snap-confine, naglakip usab sa duha ka mga kahuyangan sa multipathd nga proseso (CVE-2022-41974, CVE-2022-41973) , nga may kalabutan sa pag-bypass sa pagsusi sa awtoridad kung ang pagpasa sa mga pribilihiyo nga mga mando ug dili luwas nga trabaho nga adunay simbolikong mga link.

Ang pagkahuyang sa snap-confine tungod sa usa ka kondisyon sa lumba sa must_mkdir_and_open_with_perms() function, gidugang aron mapanalipdan batok sa pagpuli sa /tmp/snap.$SNAP_NAME nga direktoryo nga adunay simbolikong sumpay human masusi ang tag-iya, apan sa wala pa tawgon ang sistema sa pag-mount tawag sa pagbugkos sa mga direktoryo niini alang sa usa ka pakete sa snap format. Ang dugang nga proteksyon mao ang pag-usab sa ngalan sa /tmp/snap.$SNAP_NAME nga direktoryo ngadto sa laing direktoryo sa /tmp nga adunay random nga ngalan kon kini anaa ug dili gipanag-iya sa gamut.

Sa pagpahimulos sa /tmp/snap.$SNAP_NAME directory rename operation, gipahimuslan sa mga researcher ang kamatuoran nga ang snap-confine nagmugna usab ug /tmp/snap.rootfs_XXXXXX nga direktoryo para sa gamut sa sulod sa snap package. Ang "XXXXXX" nga bahin sa ngalan gipili nga random pinaagi sa mkdtemp(), apan ang usa ka pakete nga ginganlag "rootfs_XXXXXX" mahimong ma-validate sa sc_instance_name_validate function (ie ang ideya mao nga ang $SNAP_NAME itakda sa "rootfs_XXXXXX" ug dayon ang pag-ilis sa ngalan nga operasyon moresulta sa pag-overwrite sa /tmp/snap.rootfs_XXXXXX nga direktoryo sa root snap).

Aron makab-ot ang dungan nga paggamit sa /tmp/snap.rootfs_XXXXXX ug pag-ilis sa ngalan /tmp/snap.$SNAP_NAME, duha ka higayon sa snap-confine ang gilusad. Sa dihang nahimo na ang unang instance /tmp/snap.rootfs_XXXXXX, ang proseso mobabag ug ang ikaduhang instance magsugod sa package name rootfs_XXXXXX, hinungdan nga ang temporaryo nga direktoryo sa ikaduhang instance /tmp/snap.$SNAP_NAME mahimong root directory /tmp/snap .rootfs_XXXXXX sa una. Diha-diha dayon pagkahuman sa pagbag-o sa ngalan, ang ikaduhang higayon nahagsa, ug /tmp/snap.rootfs_XXXXXX gipulihan sa pagmaniobra sa kondisyon sa lumba, sama sa pagpahimulos sa kahuyang sa Pebrero. Human sa pag-ilis, ang execution lock gikuha gikan sa unang higayon ug ang mga tig-atake nakakuha og hingpit nga kontrol sa snap root directory.

Ang kataposang lakang mao ang paghimo ug symlink /tmp/snap.rootfs_XXXXXX/tmp, nga gigamit sa sc_bootstrap_mount_namespace() function sa pagbugkos-mount sa masulat nga tinuod nga direktoryo /tmp sa bisan unsang direktoryo sa file system, sukad ang mount() tawag nagsunod sa mga symlink sa wala pa i-mount. Ang ingon nga pag-mount gibabagan sa mga pagdili sa AppArmor, apan aron malaktawan kini nga bloke, gigamit sa pagpahimulos ang duha nga mga kahuyangan sa auxiliary sa multipathd.

Source: opennet.ru

Idugang sa usa ka comment