V Snap boli nájdené dve zraniteľnosti a bolo im umožnené spustiť kód ako root

Qualys odhalený správy, ktoré identifikujem dve zraniteľnosti (CVE-2021-44731 a CVE-2021-44730) v utilite snap-confine, odoslané s koreňovým príznakom SUID a vyvolané procesom snapd na vygenerovanie spustiteľného prostredia pre aplikácie distribuované v balíkoch snap.

V blogovom príspevku sa o tom píše zraniteľnosti umožňujú neprivilegovanému lokálnemu používateľovi dosiahnuť spustenie kódu ako root v systéme.

Prvá zraniteľnosť umožňuje útok na manipuláciu s fyzickým odkazom, ale vyžaduje zakázanie ochrany systémových pevných odkazov (nastavením sysctl fs.protected_hardlinks na 0).

Problém je to spôsobené nesprávnym overením umiestnenia spustiteľných súborov pomocných programov snap-update-ns a snap-discard-ns ktoré bežia ako root. Cesta k týmto súborom bola vypočítaná vo funkcii sc_open_snapd_tool() na základe vlastnej cesty z /proc/self/exe, čo vám umožňuje vytvoriť pevný odkaz, ktorý sa obmedzí na váš adresár a vložíte možnosti do snap-update-ns a snap. -discard-ns v tomto adresári. Keď sa spustí z pevného odkazu, snap-confine ako root vykoná útočníkom nahradené súbory snap-update-ns a snap-discard-ns z aktuálneho adresára.

Úspešné využitie tejto zraniteľnosti umožňuje každému neprivilegovanému používateľovi získať oprávnenia root na zraniteľnom hostiteľovi. Výskumníci v oblasti bezpečnosti Qualys boli schopní nezávisle overiť zraniteľnosť, vyvinúť exploit a získať úplné oprávnenia root na predvolených inštaláciách Ubuntu.

Hneď ako výskumný tím Qualys potvrdil zraniteľnosť, zapojili sme sa do zodpovedného odhaľovania zraniteľnosti a koordinovali sme to s dodávateľmi a distribúciami s otvoreným zdrojom, aby sme oznámili túto novoobjavenú zraniteľnosť.

Druhá chyba je spôsobená rasovým stavom a dá sa využiť v predvolenej konfigurácii pracovnej plochy Ubuntu. Aby exploit úspešne fungoval na serveri Ubuntu, musíte počas inštalácie vybrať jeden z balíkov zo sekcie „Featured Server Snaps“.

rasový stav sa prejavuje vo funkcii setup_private_mount(). volaný počas prípravy menného priestoru bodu pripojenia pre okamžitý balík. Táto funkcia vytvorí dočasný adresár „/tmp/snap.$SNAP_NAME/tmp“ alebo použije existujúci adresár na prepojenie a pripojenie adresárov pre balík snap k nemu.

Keďže názov dočasného adresára je predvídateľný, útočník môže zmeniť jeho obsah na symbolický odkaz po overení vlastníka, ale pred zavolaním systému pripojenia. Môžete napríklad vytvoriť symbolický odkaz "/tmp/snap.lxd/tmp" v adresári /tmp/snap.lxd, ktorý ukazuje na ľubovoľný adresár a volanie mount() bude nasledovať symbolický odkaz a pripojí adresár do priestoru mien.

Podobne môžete pripojiť jeho obsah do /var/lib a prepísaním /var/lib/snapd/mount/snap.snap-store.user-fstab zariadiť pripojenie vášho adresára /etc do priestoru názvov balíka, aby sa načítala vaša knižnica z prístupu root nahradením /etc/ld.so.preload.

Je to pozorované vytvorenie exploitu sa ukázalo ako netriviálna úloha, keďže nástroj snap-confine je napísaný pomocou techník bezpečného programovania (snapd je napísaný v Go, ale C sa používa na snap-confine), má ochranu založenú na profiloch AppArmor, filtruje systémové volania na základe mechanizmu seccomp a používa priestor názvov pripojenia na izoláciu.

Výskumníci však dokázali pripraviť funkčný exploit získať prístup root v systéme. Exploit kód bude uvoľnený niekoľko týždňov po tom, čo si používatelia nainštalujú poskytnuté aktualizácie.

Nakoniec stojí za zmienku, žeProblémy boli opravené v aktualizácii balíka snapd pre verzie Ubuntu 21.10, 20.04 a 18.04.

Okrem iných distribúcií, ktoré využívajú Snap, bol vydaný Snapd 2.54.3, ktorý okrem vyššie uvedených problémov opravuje ďalšiu zraniteľnosť (CVE-2021-4120), ktorá umožňuje pri inštalácii špeciálne navrhnutých balíkov pluginov, prepísať ľubovoľné pravidlá AppArmor a obísť obmedzenia prístupu nastavené pre balík.

Ak ste záujem dozvedieť sa o tom viac, môžete skontrolovať podrobnosti Na nasledujúcom odkaze.


Zanechajte svoj komentár

Vaša e-mailová adresa nebude zverejnená. Povinné položky sú označené *

*

*

  1. Zodpovedný za údaje: Miguel Ángel Gatón
  2. Účel údajov: Kontrolný SPAM, správa komentárov.
  3. Legitimácia: Váš súhlas
  4. Oznamovanie údajov: Údaje nebudú poskytnuté tretím stranám, iba ak to vyplýva zo zákona.
  5. Ukladanie dát: Databáza hostená spoločnosťou Occentus Networks (EU)
  6. Práva: Svoje údaje môžete kedykoľvek obmedziť, obnoviť a vymazať.