Två sårbarheter hittades i Snap och fick köra kod som root

Qualys presenteras nyheterna som jag identifierar två sårbarheter (CVE-2021-44731 och CVE-2021-44730) i verktyget snap-confine, skickas med root-SUID-flaggan och anropas av snapd-processen för att generera en körbar miljö för applikationer distribuerade i snap-paket.

I blogginlägget nämns det sårbarheter tillåter en oprivilegierad lokal användare att få kodexekvering som root i systemet.

Den första sårbarheten tillåter en fysisk länkmanipulationsattack, men kräver att systemets hårdlänksskydd avaktiveras (genom att ställa in sysctl fs.protected_hardlinks till 0).

Problemet det beror på en felaktig verifiering av platsen för de körbara filerna av verktygen snap-update-ns och snap-discard-ns som körs som rot. Sökvägen till dessa filer beräknades i sc_open_snapd_tool()-funktionen baserat på dess egen sökväg från /proc/self/exe, vilket gör att du kan skapa en hård länk för att begränsa i din katalog och lägga dina alternativ till snap-update-ns och snap -discard-ns i den här katalogen. När den startas från en hård länk kommer snap-confine som root att exekvera de angriparersatta snap-update-ns- och snap-discard-ns-filerna från den aktuella katalogen.

Framgångsrik exploatering av denna sårbarhet tillåter alla icke-privilegierade användare att få root-privilegier på den sårbara värden. Qualys säkerhetsforskare har självständigt kunnat verifiera sårbarheten, utveckla en exploatering och få fullständiga root-privilegier på standardinstallationer av Ubuntu.

Så snart Qualys forskarteam bekräftade sårbarheten, engagerade vi oss i ansvarsfull sårbarhet och samordnade med leverantörer och distributioner med öppen källkod för att tillkännage denna nyligen upptäckta sårbarhet.

Den andra sårbarheten orsakas av ett rastillstånd och kan utnyttjas i Ubuntus standardkonfiguration för skrivbordet. För att exploateringen ska fungera framgångsrikt på Ubuntu Server måste du välja ett av paketen från avsnittet "Utvalda Server Snaps" under installationen.

loppets skick manifesteras i setup_private_mount()-funktionen anropas under förberedelse av monteringspunktens namnutrymme för snabbpaketet. Den här funktionen skapar en tillfällig katalog "/tmp/snap.$SNAP_NAME/tmp" eller använder en befintlig för att länka och montera kataloger för snap-paketet till den.

Eftersom namnet på den tillfälliga katalogen är förutsägbart kan en angripare ändra dess innehåll till en symbolisk länk efter att ha verifierat ägaren, men innan han anropar monteringssystemet. Till exempel kan du skapa en symbollänk "/tmp/snap.lxd/tmp" i katalogen /tmp/snap.lxd som pekar på en godtycklig katalog och mount()-anropet kommer att följa symbollänken och montera katalogen i utrymmet av namn.

På liknande sätt kan du montera dess innehåll i /var/lib och åsidosätta /var/lib/snapd/mount/snap.snap-store.user-fstab, ordna att montera din /etc-katalog i paketnamnrymdens snap för att ladda ditt bibliotek från root-åtkomst genom att ersätta /etc/ld.so.preload.

Det observeras att att skapa en exploit visade sig vara en icke-trivial uppgift, eftersom verktyget snap-confine är skrivet med säkra programmeringstekniker (snapd skrivs i Go, men C används för snap-confine), har skydd baserat på AppArmor-profiler, filtrerar systemanrop baserat på seccomp-mekanismen och använder ett mount-namnområde för isolering.

Men forskarna kunde förbereda en funktionell exploatering för att få root-åtkomst på systemet. Exploateringskoden kommer att släppas några veckor efter att användarna har installerat de medföljande uppdateringarna.

Slutligen är det värt att nämna detProblemen åtgärdades i snapd-paketuppdateringen för Ubuntu versionerna 21.10, 20.04 och 18.04.

Utöver de andra distributionerna som använder Snap har Snapd 2.54.3 släppts, som förutom ovanstående problem åtgärdar en annan sårbarhet (CVE-2021-4120), som gör det möjligt att vid installation av specialdesignade plugin-paket, åsidosätt godtyckliga AppArmor-regler och kringgå åtkomstbegränsningarna som ställts in för paketet.

Om du är det intresserad av att veta mer om det, du kan kontrollera detaljerna I följande länk.


Lämna din kommentar

Din e-postadress kommer inte att publiceras. Obligatoriska fält är markerade med *

*

*

  1. Ansvarig för uppgifterna: Miguel Ángel Gatón
  2. Syftet med uppgifterna: Kontrollera skräppost, kommentarhantering.
  3. Legitimering: Ditt samtycke
  4. Kommunikation av uppgifterna: Uppgifterna kommer inte att kommuniceras till tredje part förutom enligt laglig skyldighet.
  5. Datalagring: databas värd för Occentus Networks (EU)
  6. Rättigheter: När som helst kan du begränsa, återställa och radera din information.