Företaget Qualys har upptÀckt en sÄrbarhet (CVE-2026-3888) i hur snap-confine och systemd-tmpfiles arbetar tillsammans i Ubuntu, vilket gör det möjligt för en icke-privilegierad anvÀndare att fÄ root-Ätkomst till systemet. Problemet uppstÄr i Ubuntu i standardkonfigurationen frÄn och med version 24.04. I Ubuntu 16.04-22.04 kan sÄrbarheten utnyttjas i icke-standardkonfigurationer som efterliknar beteendet hos nyare versioner av distributionen. En lösning för Ubuntu blev tillgÀnglig i gÄrdagens uppdatering av snapd. Problemet med snapd har ÄtgÀrdats i uppdatering 2.75.
SÄrbarheten uppstÄr pÄ grund av felaktig interaktion mellan verktygen snap-confine och systemd-tmpfiles, som körs med förhöjda privilegier. Verktyget snap-confine skapar en sandbox-miljö för att köra snap-applikationer, medan systemd-tmpfiles hanterar automatisk rensning av temporÀra filer och kataloger. Som standard Àr systemd-tmpfiles konfigurerad att ta bort alla gamla filer och kataloger i /tmp, vilket kan utnyttjas av en angripare för att manipulera katalogen /tmp/.snap just efter dess borttagning av systemd-tmpfiles, men innan den Äterskapas av snap-confine.
Attacken gÄr ut pÄ att vÀnta pÄ att processen för rensning av temporÀra filer startar, manipulera katalogen /tmp/.snap efter dess borttagning och placera en modifierad kopia av biblioteken /tmp/.snap/usr/lib/x86_64-linux-gnu.exchange. Angriparen kan behöva vÀnta i flera dagar pÄ att systemd-tmpfiles ska starta, eftersom processen i Ubuntu 24.04 körs var 10:e dag, och i nyare versioner var 30:e dag. Efter manipuleringen av katalogen fÄr angriparen igÄng den nya sandbox-miljön med hjÀlp av snap-confine.
Under skapandet av sandbox-miljön i den temporÀra katalogen /tmp/.snap vÀntar angriparen pÄ rÀtt ögonblick och döper om /tmp/.snap/usr/lib/x86_64-linux-gnu.exchange till /tmp/.snap/usr/lib/x86_64-linux-gnu, vilket pÄ sÄ vis manipulerar biblioteken och sÀkerstÀller bindmontering med root-rÀttigheter. PÄ sÄ sÀtt fÄr angriparen kontroll över de delade biblioteken och laddaren ld.so, som körs i snap-sandbox-miljön, och kan fÄ exekvering av godtycklig kod med root-rÀttigheter genom att starta vilket som helst suid-program dÀr dynamisk lÀnkning anvÀnds.
Med root-Ätkomst i en sandbox-miljö som Àr isolerad av AppArmor och systemanropsfilter baserat pÄ seccomp kan en angripare kopiera /bin/bash till katalogen /var/snap/$SNAP/common/ och sÀtta rÀttigheterna "04755" (suid root). Trots att rÀttigheterna har Àndrats inom sandbox-miljön Àr filen med de Àndrade rÀttigheterna tillgÀnglig i huvudsystemet, sÄ för att fÄ fullstÀndig root-Ätkomst rÀcker det med att köra /var/snap//common/bash som en normal anvÀndare frÄn den vanliga systemmiljön.
Samtidigt upptÀcktes en sÄrbarhet i verktyget uutils coreutils (Rust Coreutils), en motsvarighet till GNU Coreutils-paketet, skrivet i Rust. SÄrbarheten möjliggör för en icke-privilegierad anvÀndare att fÄ root-rÀttigheter i systemet. Problemet upptÀcktes under granskningen av Àndringar i Ubuntu 25.10 och löstes som en tillfÀllig lösning före lanseringen av Ubuntu 25.10 genom att leverera /usr/bin/gnurm istÀllet för uutils rm. I paketet uutils ÄtgÀrdades problemet i versionen uutils coreutils 0.3.0, utan att det angavs i Àndringsloggen att sÄrbarheten ÄtgÀrdades (det angavs att ett sÀkert sÀtt att kringgÄ sökvÀgar hade implementerats i rm, du, chmod och chgrp).
Problemet orsakas av en kapplöpningssituation i verktyget "rm", vilket gör att en lokal anvÀndare kan ersÀtta innehÄllet i en katalog med en symbolisk lÀnk under borttagning av en anvÀndarÀgd fil av processen "rm" med root-rÀttigheter. Bland annat kan sÄrbarheten utnyttjas vid daglig körning frÄn ett cron-skript /etc/cron.daily/apport, som körs med root-rÀttigheter och rekursivt tar bort innehÄllet i katalogen /var/crash, som Àr skrivbar för alla anvÀndare i systemet.
Vid rekursiv borttagning av kataloger kontrollerar verktyget rm först alla kataloger, och tar sedan bort dem i omvÀnd ordning genom att anropa funktionen rmdir(). Om man lyckas byta ut den överordnade katalogen mot en symbolisk lÀnk direkt efter att denna katalog har kontrollerats, men innan de underordnade katalogerna kontrolleras, kommer operationen att leda till att katalogen som den symboliska lÀnken pekar pÄ tas bort. PÄ sÄ sÀtt kan man inte bara fÄ bort vilket fil som helst i systemet, utan ocksÄ höja privilegierna genom att ta bort katalogen /tmp/snap-private-tmp/$SNAP/tmp/.snap för att byta ut innehÄllet i sandbox-miljön för snap-paketet (metoden för att fÄ root Àr likadan som den första sÄrbarheten).
KĂ€lla: opennet.ru
