Vulnerabilitetet lokale root në mjetin e menaxhimit të skedarëve Snap

Kompania Qualys zbuloi dy dobësitë (CVE-2021-44731, CVE-2021-44730) në utilitarin snap-confine, i cili ofrohet me flamurin SUID root dhe thirret nga procesi snapd për të formuar ambientin ekzekutiv për aplikacionet e ofruara në paketat e vetë-mjaftueshme në formatin snap. Dobësitë lejojnë një përdorues lokal pa privilegje të arrijë të ekzekutojë kod me të drejtat root në sistem. Problemet janë adresuar në përditësimin e sotëm të paketave snapd për Ubuntu 21.10, 20.04 dhe 18.04.

Dobësia e parë (CVE-2021-44730) lejon një sulm përmes manipulimit të lidhjeve të forta, por kërkon që mbrojtja sistemore e lidhjeve të forta të jetë e çaktivizuar (duke vendosur sysctl fs.protected_hardlinks në 0). Problemi shkaktohet nga kontrolli i pasaktë i vendndodhjes së skedareve ekzekutivë të utilitarëve snap-update-ns dhe snap-discard-ns, të cilat ekzekutohen me të drejtat root. Rruga për këto skedare llogaritej në funksionin sc_open_snapd_tool() në bazë të rrugës së vet nga /proc/self/exe, që lejon krijimin e një lidhjeje të fortë me snap-confine në katalogun tuaj dhe vendosjen në këtë katalog të varianteve tuaja të utilitarëve snap-update-ns dhe snap-discard-ns. Pas ekzekutimit përmes lidhjes së fortë, snap-confine me të drejtat root do të ekzekutojë nga katalogu aktual skedaret snap-update-ns dhe snap-discard-ns të vendosur nga sulmuesi.

Dobësia e dytë shkaktohet nga një gjendje garazhe dhe mund të shfrytëzohet në konfigurimin Ubuntu Desktop për default. Për qëllimin e suksesshëm të eksploatimit në Ubuntu Server kërkohet zgjedhja gjatë instalimit e një prej paketave nga seksioni "Featured Server Snaps". Gjendja e garazhe manifeston në funksionin setup_private_mount(), i cili thirret gjatë përgatitjes së hapësirës emri për pikat e montimit për paketën snap. Ky funksion krijon një katalog të përkohshëm "/tmp/snap.$SNAP_NAME/tmp" ose përdor një ekzistues për lidhje bind në të katalogët për paketën në formatin snap.

Duke emri i drejtpërdrejt të katalogut përkohësor është i parashikueshëm, sulmuesi mund të zëvendësojë përmbajtjen e tij me një lidhje simbolike në momentin pas kontrollit të pronarit, por para thirrjes së sistemit të thirrjes mount. Për shembull, është e mundur të krijohet në katalogun /tmp/snap.lxd një lidhje simbolike " /tmp/snap.lxd/tmp ", që tregon në një katalog të rastësishëm, dhe thirrja mount() do të ndjekë lidhjen simbolike dhe do të montojë katalogun në hapësirën e emrave snap. Në një mënyrë të ngjashme, është e mundur të montohet përmbajtja e vet në /var/lib dhe përmes zëvendësimit të /var/lib/snapd/mount/snap.snap-store.user-fstab të organizohet montimi i katalogut të vet /etc në hapësirën e paketës snap për të organizuar ngarkimin e bibliotekës së vet me të drejta root përmes zëvendësimit të /etc/ld.so.preload.

ËshtĂ« vĂ«nĂ« re se krijimi i njĂ« eksploiti Ă«shtĂ« njĂ« detyrĂ« jo triviale, pasi utilita snap-confine Ă«shtĂ« shkruar nĂ« gjuhĂ«n Go duke pĂ«rdorur teknika tĂ« programimit tĂ« sigurtĂ«, ka mbrojtje tĂ« bazuar nĂ« profilet AppArmor, filtron thirrjet e sistemit nĂ« bazĂ« tĂ« mekanizmit seccomp dhe aplikon hapĂ«sira emrave pĂ«r izolim gjatĂ« montimit. MegjithatĂ«, kĂ«rkuesit arritĂ«n tĂ« pĂ«rgatisin njĂ« eksploit funksional pĂ«r tĂ« fituar tĂ« drejtat root nĂ« sistem. Kodi i eksploitit do tĂ« publikohet pas disa javĂ«sh, pasi pĂ«rdoruesit tĂ« instalojnĂ« pĂ«rditĂ«simet e ofruara.

Burimi: opennet.ru

Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS đŸ”„ Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS | ProHoster