Staðbundnir rótarveikleikar í Snap pakkastjórnunarverkfærasetti

Qualys hefur greint tvo veikleika (CVE-2021-44731, CVE-2021-44730) í snap-confine tólinu, sem fylgir SUID rótfánanum og kallað er af snapd ferlinu til að búa til keyranlegt umhverfi fyrir forrit sem eru afhent í sjálfstættum pakka í snap sniði. Veikleikarnir leyfa staðbundnum notanda án forréttinda að keyra kóða með rótarréttindum á kerfinu. Málin eru leyst í snapd pakkauppfærslu dagsins fyrir Ubuntu 21.10, 20.04 og 18.04.

Fyrsta varnarleysið (CVE-2021-44730) gerir árás með harða hlekki kleift, en krefst þess að slökkva á harða hlekkjavörn kerfisins (stilla sysctl fs.protected_hardlinks á 0). Vandamálið stafar af rangri sannprófun á staðsetningu keyrsluskráa snap-update-ns og snap-discard-ns hjálparforritanna keyra sem rót. Slóðin að þessum skrám var reiknuð út í sc_open_snapd_tool() fallinu byggt á eigin slóð frá /proc/self/exe, sem gerir þér kleift að búa til harðan hlekk til að snap-confine í möppunni þinni og setja þínar eigin útgáfur af snap- update-ns og snap- utilities í þessari möppu discard-ns. Eftir að hafa keyrt í gegnum harðan hlekk mun snap-confine með rótarréttindum ræsa snap-update-ns og snap-discard-ns skrárnar úr núverandi möppu, í staðinn fyrir árásarmanninn.

Annað varnarleysið stafar af keppnisástandi og hægt er að nýta hann í sjálfgefna Ubuntu Desktop stillingum. Til að hagnýtingin virki með góðum árangri í Ubuntu Server, verður þú að velja einn af pakkanum úr hlutanum „Valin Server Snaps“ þegar þú setur upp. Keppnisástandið er augljóst í setup_private_mount() fallinu sem kallað er á meðan á undirbúningi tengipunkts nafnrýmis fyrir snappakkann stendur. Þessi aðgerð býr til tímabundna möppu „/tmp/snap.$SNAP_NAME/tmp“ eða notar þá sem fyrir er til að binda möppur fyrir snappakka inn í hana.

Þar sem nafn bráðabirgðaskrárinnar er fyrirsjáanlegt getur árásarmaður skipt út innihaldi hennar fyrir táknrænan hlekk eftir að hafa athugað eigandann, en áður en hringt er í fjallkerfiskallið. Til dæmis geturðu búið til tákntengil "/tmp/snap.lxd/tmp" í /tmp/snap.lxd möppunni sem vísar á handahófskennda möppu og kall til mount() mun fylgja tákntenglinum og tengja möppuna í snap nafnrými. Á svipaðan hátt geturðu tengt innihald þitt í /var/lib og, með því að skipta um /var/lib/snapd/mount/snap.snap-store.user-fstab, skipulagt uppsetningu /etc möppunnar þinnar í nafnrýminu á snappakkann til að skipuleggja hleðslu á bókasafninu þínu frá með rótarréttindum með því að skipta um /etc/ld.so.preload.

Það er tekið fram að það að búa til hagnýtingu reyndist ekki léttvægt verkefni, þar sem snap-confine tólið er skrifað í Go með því að nota örugga forritunartækni, hefur vernd byggða á AppArmor sniðum, síar kerfissímtöl byggt á seccomp vélbúnaðinum og notar mount nafnrýmið fyrir einangrun. Hins vegar gátu rannsakendur undirbúið starfandi hagnýtingu til að öðlast rótarréttindi á kerfinu. Nýtingarkóði verður birtur eftir nokkrar vikur eftir að notendur setja upp meðfylgjandi uppfærslur.

Heimild: opennet.ru

Bæta við athugasemd