To sårbarheder blev fundet i Snap og fik lov til at køre kode som root

Qualys afsløret nyhederne, som jeg identificerer to sårbarheder (CVE-2021-44731 og CVE-2021-44730) i snap-confine-værktøjet, sendt med root-SUID-flaget og kaldet af snapd-processen for at generere et eksekverbart miljø for applikationer distribueret i snap-pakker.

I blogindlægget nævnes det sårbarheder tillader en uprivilegeret lokal bruger at opnå kodekørsel som root i systemet.

Den første sårbarhed tillader et fysisk linkmanipulationsangreb, men kræver deaktivering af systemhardlinks-beskyttelse (ved at sætte sysctl fs.protected_hardlinks til 0).

Problemet det skyldes en forkert verifikation af placeringen af ​​de eksekverbare filer af hjælpeprogrammerne snap-update-ns og snap-discard-ns der kører som rod. Stien til disse filer blev beregnet i sc_open_snapd_tool()-funktionen baseret på dens egen sti fra /proc/self/exe, hvilket giver dig mulighed for at oprette et hårdt link til at begrænse i din mappe og sætte dine muligheder til snap-update-ns og snap -discard-ns i denne mappe. Når den startes fra et hårdt link, vil snap-confine som root udføre de hacker-substituerede snap-update-ns og snap-discard-ns filer fra den aktuelle mappe.

Succesfuld udnyttelse af denne sårbarhed giver enhver ikke-privilegeret bruger mulighed for at opnå root-rettigheder på den sårbare vært. Qualys sikkerhedsforskere har været i stand til uafhængigt at verificere sårbarheden, udvikle en udnyttelse og opnå fulde root-privilegier på standard Ubuntu-installationer.

Så snart Qualys-forskningsteamet bekræftede sårbarheden, engagerede vi os i ansvarlig afsløring af sårbarhed og koordinerede med leverandører og open source-distributioner for at annoncere denne nyligt opdagede sårbarhed.

Den anden sårbarhed er forårsaget af en racetilstand og kan udnyttes i standard Ubuntu-skrivebordskonfigurationen. For at udnyttelsen skal fungere med succes på Ubuntu Server, skal du vælge en af ​​pakkerne fra sektionen "Featured Server Snaps" under installationen.

race tilstand manifesterer sig i setup_private_mount()-funktionen kaldet under forberedelsen af ​​monteringspunktets navneområde for instant-pakken. Denne funktion opretter en midlertidig mappe "/tmp/snap.$SNAP_NAME/tmp" eller bruger en eksisterende til at linke og montere mapper for snap-pakken til den.

Da navnet på den midlertidige mappe er forudsigelig, kan en angriber ændre dens indhold til et symbolsk link efter at have bekræftet ejeren, men før han kalder monteringssystemet. For eksempel kan du oprette et symbollink "/tmp/snap.lxd/tmp" i mappen /tmp/snap.lxd, der peger på en vilkårlig mappe, og mount()-kaldet vil følge symbollinket og montere biblioteket i rummet af navne.

På samme måde kan du montere dets indhold i /var/lib og, tilsidesætte /var/lib/snapd/mount/snap.snap-store.user-fstab, arrangere at montere dit /etc-bibliotek i pakkens navneområde snap for at indlæse dit bibliotek fra root-adgang ved at erstatte /etc/ld.so.preload.

Det observeres, at at skabe en udnyttelse viste sig at være en ikke-triviel opgave, da snap-confine-værktøjet er skrevet ved hjælp af sikre programmeringsteknikker (snapd er skrevet i Go, men C bruges til snap-confine), har beskyttelse baseret på AppArmor-profiler, filtrerer systemkald baseret på seccomp-mekanismen og bruger et mount-navneområde til isolation.

Forskerne var dog i stand til at forberede en funktionel udnyttelse for at få root-adgang på systemet. Udnyttelseskoden frigives et par uger efter, at brugerne har installeret de medfølgende opdateringer.

Til sidst er det værd at nævne detProblemerne blev rettet i snapd-pakkeopdateringen til Ubuntu version 21.10, 20.04 og 18.04.

Ud over de andre distributioner, der gør brug af Snap, er Snapd 2.54.3 blevet frigivet, som udover ovenstående problemer retter en anden sårbarhed (CVE-2021-4120), som tillader, når man installerer specialdesignede plugin-pakker, tilsidesætte vilkårlige AppArmor-regler og omgå de adgangsbegrænsninger, der er sat for pakken.

Hvis du er interesseret i at vide mere om det, du kan kontrollere detaljerne I det følgende link.


Vær den første til at kommentere

Efterlad din kommentar

Din e-mailadresse vil ikke blive offentliggjort. Obligatoriske felter er markeret med *

*

*

  1. Ansvarlig for dataene: Miguel Ángel Gatón
  2. Formålet med dataene: Control SPAM, management af kommentarer.
  3. Legitimering: Dit samtykke
  4. Kommunikation af dataene: Dataene vil ikke blive kommunikeret til tredjemand, undtagen ved juridisk forpligtelse.
  5. Datalagring: Database hostet af Occentus Networks (EU)
  6. Rettigheder: Du kan til enhver tid begrænse, gendanne og slette dine oplysninger.