Két sebezhetőséget találtak a Snapben, és lehetővé tették a kód futtatását rootként

Qualys leleplezett az általam azonosított hír két sebezhetőség (CVE-2021-44731 és CVE-2021-44730) a snap-confine segédprogramban, amelyet a root SUID jelzővel küldtek, és a snapd folyamat hívja meg, hogy végrehajtható környezetet hozzon létre a snap csomagokban terjesztett alkalmazások számára.

A blogbejegyzésben ez szerepel A sérülékenységek lehetővé teszik a jogosulatlan helyi felhasználók számára, hogy rootként hajtsanak végre kódot a rendszerben.

Az első biztonsági rés fizikai link-manipulációs támadást tesz lehetővé, de ki kell kapcsolni a rendszer hardlink védelmét (a sysctl fs.protected_hardlinks 0-ra állításával).

A probléma ennek oka a végrehajtható fájlok helyének helytelen ellenőrzése a snap-update-ns és a snap-discard-ns segédprogramok közül amelyek rootként futnak. Ezeknek a fájloknak az elérési útját az sc_open_snapd_tool() függvény számította ki a /proc/self/exe fájl saját elérési útja alapján, lehetővé téve egy kemény hivatkozás létrehozását a könyvtárban, és megadhatja a snap-update-ns és a snap opciókat. -discard-ns ebben a könyvtárban. Ha merev hivatkozásról indítja el, a snap-confine rootként végrehajtja a támadó által helyettesített snap-update-ns és snap-discard-ns fájlokat az aktuális könyvtárból.

A biztonsági rés sikeres kihasználása lehetővé teszi, hogy minden nem jogosult felhasználó root jogosultságot szerezzen a sérülékeny gazdagépen. A Qualys biztonsági kutatók képesek voltak függetlenül ellenőrizni a sebezhetőséget, kifejleszteni egy exploitot, és teljes root jogosultságokat szerezni az alapértelmezett Ubuntu-telepítéseken.

Amint a Qualys kutatócsoportja megerősítette a sebezhetőséget, felelősségteljesen felfedtük a sebezhetőséget, és együttműködtünk a szállítókkal és a nyílt forráskódú disztribúciókkal az újonnan felfedezett sebezhetőség bejelentése érdekében.

A második sebezhetőséget egy versenyhelyzet okozza és az alapértelmezett Ubuntu asztali konfigurációban használhatók. Ahhoz, hogy az exploit sikeresen működjön az Ubuntu kiszolgálón, a telepítés során ki kell választania az egyik csomagot a „Kiemelt szerverraszterek” részben.

verseny állapota a setup_private_mount() függvényben nyilvánul meg az azonnali csomag csatlakoztatási pont névterének előkészítése során hívják meg. Ez a függvény létrehoz egy ideiglenes "/tmp/snap.$SNAP_NAME/tmp" könyvtárat, vagy egy meglévő könyvtárat használ a snap csomag könyvtárainak összekapcsolásához és csatlakoztatásához.

Mivel az ideiglenes címtár neve megjósolható, a támadó a tulajdonos ellenőrzése után, de a csatolási rendszer meghívása előtt megváltoztathatja annak tartalmát szimbolikus hivatkozásra. Például létrehozhat egy "/tmp/snap.lxd/tmp" szimbolikus hivatkozást a /tmp/snap.lxd könyvtárban, amely egy tetszőleges könyvtárra mutat, és a mount() hívás követi a symlinket, és felcsatolja a könyvtárat a térben. a nevek közül.

Hasonlóképpen felcsatolhatja annak tartalmát a /var/lib könyvtárba, és a /var/lib/snapd/mount/snap.snap-store.user-fstab felülbírálásával megszervezheti a /etc könyvtár beillesztését a csomagnévtér-snap-ba a könyvtár betöltéséhez. root hozzáférésből az /etc/ld.so.preload lecserélésével.

Megfigyelhető, hogy egy exploit létrehozása nem triviális feladatnak bizonyult, mivel a snap-confine segédprogram biztonságos programozási technikákkal íródott (a snapd Go-ban van írva, de a C-t a snap-confine-hoz használják), AppArmor profilokon alapuló védelemmel rendelkezik, a seccomp mechanizmus alapján szűri a rendszerhívásokat és mount névteret használ az elszigeteltségért.

A kutatók azonban el tudtak készíteni egy funkcionális kizsákmányolást hogy root hozzáférést szerezzen a rendszerhez. A kihasználó kód néhány héttel azután jelenik meg, hogy a felhasználók telepítik a mellékelt frissítéseket.

Végül érdemes megemlíteniA problémákat a snapd csomag frissítése javította Ubuntu 21.10, 20.04 és 18.04 verziókhoz.

A Snap-ot használó többi disztribúció mellett megjelent a Snapd 2.54.3, amely a fenti problémákon kívül egy másik sebezhetőséget is javít (CVE-2021-4120), amely lehetővé teszi speciálisan tervezett bővítménycsomagok telepítésekor, felülírja az AppArmor tetszőleges szabályait, és megkerüli a csomaghoz beállított hozzáférési korlátozásokat.

Ha szeretne többet megtudni róla, ellenőrizheti a részleteket A következő linken.


A cikk tartalma betartja a szerkesztői etika. A hiba bejelentéséhez kattintson a gombra itt.

Legyen Ön az első hozzászóló

Hagyja megjegyzését

E-mail címed nem kerül nyilvánosságra.

*

*

  1. Az adatokért felelős: Miguel Ángel Gatón
  2. Az adatok célja: A SPAM ellenőrzése, a megjegyzések kezelése.
  3. Legitimáció: Az Ön beleegyezése
  4. Az adatok közlése: Az adatokat csak jogi kötelezettség alapján továbbítjuk harmadik felekkel.
  5. Adattárolás: Az Occentus Networks (EU) által üzemeltetett adatbázis
  6. Jogok: Bármikor korlátozhatja, helyreállíthatja és törölheti adatait.