En fejl i Snapd fik adgang til root-rettigheder

snap

En sårbarhed blev identificeret i Snapd som allerede er beskrevet i (CVE-2019-7304), hvilket gør det muligt for en uprivilegeret bruger at få administratorrettigheder (rod) på systemet.

For dem, der ikke er bekendt med Snapd, kan vi fortælle dig, at dette er et værktøjssæt til styring af selvstændige pakker i snap-format. For at teste systemernes sårbarheder blev der offentliggjort to prototyper af udnyttelsen.

  • Den første der gør det muligt for angriberen at oprette en ny bruger i systemet.
  • Det andet giver angriberen mulighed for at installere enhver form for øjeblikkelig pakke på systemet og køre koden som root (ved at installere pakken i "devmode" -tilstand med drivervedhæftet kaldet med root-rettigheder, når pakken installeres).

Hvad er disse bedrifter?

Udnyttelsen oprettet for at udnytte den første angivne mulighed ovenfor spring adgangskontrolchecks over at bruge en begrænset API-funktion i den lokale snapd-tjeneste.

Dette spørger systemet om et brugernavn og en offentlig SSH-nøgle fra en angivet e-mail-adresse og opretter derefter en lokal bruger baseret på denne værdi.

Vellykket udnyttelse af denne version kræver en udgående internetforbindelse og en SSH-tjeneste tilgængelig via localhost.

Den anden udnyttelse oprettet at udnytte det andet påpegede punkt, i modsætning til den tidligere beskrevne udnyttelse, det kræver ikke, at SSH-tjenesten kører.

også det fungerer på nyere versioner af Ubuntu uden internetforbindelse, gør den modstandsdygtig over for ændringer og effektiv i begrænsede miljøer.

Denne udnyttelse Det skal også være effektivt på ikke-Ubuntu-systemer, der har snapd installeret, men ikke understøtter API på grund af Linux shell syntaks.

Nogle ældre Ubuntu-systemer (såsom version 16.04) har muligvis ikke de nødvendige snapd-komponenter installeret til download.

Hvis dette er tilfældet, kan denne version af udnyttelsen udløse den til at installere disse afhængigheder. Under denne installation kan snapd opgraderes til en ikke-sårbar version.

For at vide lidt mere om disse kan du få flere detaljer I det følgende link.

Hvad består denne fundne fejl af?

Sårbarheden skyldes til manglende korrekt kontrol i snapd, når du behandler en ekstern stikkontaktadresse i processen med at evaluere adgangsrettigheder til Unix-sockets.

Når du behandler anmodninger til API'et via et Unix-stik, UID for brugeren, der er knyttet til forbindelsen, kontrolleres og på baggrund heraf træffes adgangsbeslutningen.

Brugeren kan vedhæfte streng «; uid = 0; » til filnavnet med soklen (for eksempel opret en sokkel "/ tmp / sock; uid = 0;"), og denne streng behandles som en del af klientens sokkeladresse.

Når du analyserer parametrene i snapd, brugeridentifikatoren tildeles ved en cyklisk søgning ved hjælp af masken "; Uid =" på linjen, der også inkluderer navnet på filen med soklen (for eksempel når du opretter klientstikket "/ tmp / sock; uid = 0;" denne linje har formen "pid = 5275; uid = 1000; sokkel = / run / snapd.socket; / tmp / sok; uid = 0; «).

Derfor, hvis der er en kæde "; Uid = 0;" i socketnavnet tildeles identifikatoren fra det og ikke fra den almindelige parameter med den aktuelle UID.

En lokal angriber kan bruge denne fejl til at få adgang til soklen /run/snapd.socket til snapd-privilegeret API og få administratorrettigheder (tidligere sårbarheder bruger v2 / create-user og / v2 / snaps API'er).

Hvilke versioner påvirker det, og findes der allerede en løsning?

Problemet manifesterer sig i snapd-versioner fra 2.28 til 2.37 og påvirker alle understøttede Ubuntu-grene (fra 14.04 til 18.10) såvel som i distributioner afledt af nogen af ​​disse nævnte versioner.

Problemet påvirker også Fedora- og Debian-distributioner, hvor snapd tilbydes fra almindelige arkiver.

Sårbarheden blev rettet i snapd 2.37.1-udgivelsesamt pakkeopdateringer til Ubuntu- og Debian-distributioner.


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.