To sårbarheter ble funnet i Snap og fikk kjøre kode som root

Qualys avduket nyhetene som jeg identifiserer to sårbarheter (CVE-2021-44731 og CVE-2021-44730) i snap-confine-verktøyet, sendt med root-SUID-flagget og kalt opp av snapd-prosessen for å generere et kjørbart miljø for applikasjoner distribuert i snap-pakker.

I blogginnlegget er det nevnt at sårbarheter lar en uprivilegert lokal bruker oppnå kodekjøring som root i systemet.

Den første sårbarheten tillater et fysisk koblingsangrep, men krever deaktivering av systemhardlinks-beskyttelse (ved å sette sysctl fs.protected_hardlinks til 0).

Problemet det er på grunn av en feil verifisering av plasseringen av de kjørbare filene av verktøyene snap-update-ns og snap-discard-ns som kjører som rot. Banen til disse filene ble beregnet i sc_open_snapd_tool()-funksjonen basert på sin egen bane fra /proc/self/exe, slik at du kan lage en hard lenke for å begrense i katalogen din og sette alternativene dine til snap-update-ns og snap -discard-ns i denne katalogen. Når den startes fra en hard kobling, vil snap-confine som root kjøre de angriper-erstattede snap-update-ns og snap-discard-ns-filene fra gjeldende katalog.

Vellykket utnyttelse av dette sikkerhetsproblemet lar enhver ikke-privilegert bruker få root-privilegier på den sårbare verten. Qualys sikkerhetsforskere har vært i stand til uavhengig å verifisere sårbarheten, utvikle en utnyttelse og få fulle root-privilegier på standard Ubuntu-installasjoner.

Så snart Qualys-forskningsteamet bekreftet sårbarheten, engasjerte vi oss i ansvarlig avsløring av sårbarhet og koordinerte med leverandør- og åpen kildekodedistribusjoner for å kunngjøre denne nylig oppdagede sårbarheten.

Den andre sårbarheten er forårsaket av en rasetilstand og kan utnyttes i standard Ubuntu-skrivebordskonfigurasjon. For at utnyttelsen skal fungere vellykket på Ubuntu Server, må du velge en av pakkene fra delen "Featured Server Snaps" under installasjonen.

løpstilstand manifesterer seg i setup_private_mount()-funksjonen kalles under klargjøring av monteringspunktets navneområde for instant-pakken. Denne funksjonen oppretter en midlertidig katalog "/tmp/snap.$SNAP_NAME/tmp" eller bruker en eksisterende til å koble og montere kataloger for snap-pakken til den.

Siden navnet på den midlertidige katalogen er forutsigbar, kan en angriper endre innholdet til en symbolsk lenke etter å ha bekreftet eieren, men før han ringer til monteringssystemet. For eksempel kan du opprette en symbolkobling "/tmp/snap.lxd/tmp" i /tmp/snap.lxd-katalogen som peker til en vilkårlig katalog, og mount()-kallet vil følge symbolkoblingen og montere katalogen i rommet av navn.

På samme måte kan du montere innholdet i /var/lib og, overstyre /var/lib/snapd/mount/snap.snap-store.user-fstab, arrangere å montere /etc-katalogen din i pakkens navneområde snap for å laste biblioteket ditt fra rottilgang ved å erstatte /etc/ld.so.preload.

Det observeres at å skape en utnyttelse viste seg å være en ikke-triviell oppgave, siden snap-confine-verktøyet er skrevet ved hjelp av sikre programmeringsteknikker (snapd er skrevet i Go, men C brukes for snap-confine), har beskyttelse basert på AppArmor-profiler, filtrerer systemanrop basert på seccomp-mekanismen og bruker et mount-navneområde for isolasjon.

Forskerne var imidlertid i stand til å forberede en funksjonell utnyttelse for å få root-tilgang på systemet. Utnyttelseskoden vil bli utgitt noen uker etter at brukerne har installert de medfølgende oppdateringene.

Til slutt er det verdt å nevne detProblemene ble løst i snapd-pakkeoppdateringen for Ubuntu versjoner 21.10, 20.04 og 18.04.

I tillegg til de andre distribusjonene som bruker Snap, har Snapd 2.54.3 blitt utgitt, som i tillegg til problemene ovenfor, fikser en annen sårbarhet (CVE-2021-4120), som tillater, når du installerer spesialdesignede plugin-pakker, overstyr vilkårlige AppArmor-regler og omgå tilgangsbegrensningene som er satt for pakken.

Lur interessert i å vite mer om det, kan du sjekke detaljene I den følgende lenken.


Legg igjen kommentaren

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *

*

*

  1. Ansvarlig for dataene: Miguel Ángel Gatón
  2. Formålet med dataene: Kontroller SPAM, kommentaradministrasjon.
  3. Legitimering: Ditt samtykke
  4. Kommunikasjon av dataene: Dataene vil ikke bli kommunisert til tredjeparter bortsett fra ved juridisk forpliktelse.
  5. Datalagring: Database vert for Occentus Networks (EU)
  6. Rettigheter: Når som helst kan du begrense, gjenopprette og slette informasjonen din.