De fant et VFS-sårbarhet i Linux som tillater rettighetseskalering

Noen dager siden Nyheten ble sluppet om at sårbarheten ble identifisert (allerede katalogisert under CVE-2022-0185) ogn filsystemets kontekst-API levert av Linux-kjernen som kan tillate en lokal bruker å få root-privilegier på systemet.

Det er nevnt at problemet er at en uprivilegert bruker kan få slike tillatelser i en isolert beholder hvis støtte for brukernavneområder er aktivert på systemet.

For eksempel er brukernavneområder aktivert som standard på Ubuntu og Fedora, men er ikke aktivert på Debian og RHEL (med mindre containerisolasjonsplattformer brukes). I tillegg til rettighetseskalering, kan sårbarheten også brukes til å bryte ut av en isolert beholder hvis beholderen har CAP_SYS_ADMIN-autorisasjon.

Sårbarhet finnes i funksjonen legacy_parse_param() i VFS og skyldes mangel på riktig validering av den maksimale størrelsen på medfølgende parametere på filsystemer som ikke støtter filsystemets kontekst-API.

Nylig møtte flere venner på mitt CTF Crusaders of Rust-team og jeg en 0-dagers Linux-kjernehaug-overflyt. Vi fant feilen gjennom fuzzing med syzkaller og utviklet den raskt til en Ubuntu LPE-utnyttelse. Deretter skrev vi den om for å unnslippe og rote Googles herdede Kubernetes CTF-infrastruktur. Denne feilen påvirker alle kjerneversjoner siden 5.1 (5.16 pågår for øyeblikket) og har blitt tildelt CVE-2022-0185. Vi har allerede rapportert dette til Linux-distribusjonen og e-postlisten for sikkerhet, og feilen er fikset ved utgivelsen av denne artikkelen.

Passering av for stor parameter kan føre til overløp av heltallsvariabelen som brukes til å beregne størrelsen på dataene som skrives; koden har en "if (len > PAGE_SIZE - 2 - størrelse)" bufferoverløpssjekk, som ikke fungerer hvis størrelsesverdien er større enn 4094 på grunn av heltallsoverløp gjennom den nedre grensen (heltallsoverløp, når 4096 – 2 – konverteres 4095 til usignert int, får 2147483648).

Denne feilen tillater, når du får tilgang til et spesiallaget FS-bilde, forårsake bufferoverflyt og overskriv kjernedata etter det tildelte minneområdet. For å utnytte sårbarheten kreves CAP_SYS_ADMIN-rettigheter, dvs. administratorautoritet.

Fra og med 2022 bestemte lagkameratene våre seg for å finne en dag 0 i 2022. Vi var ikke helt sikre på nøyaktig hvordan vi skulle starte, men siden teamet vårt hadde en høy grad av kjennskap til Linux-kjernens sårbarheter, bestemte vi oss for å kjøpe noen dedikerte servere. og kjør Googles syzkaller fuzzer. 6. januar klokken 22:30 PST mottok chop0 følgende rapport om en KASAN-feil i legacy_parse_param: slab-out-of-bounds Skriv i legacy_parse_param. Det ser ut til at syzbot fant dette problemet bare 6 dager tidligere da han fuzzet Android, men problemet ble ikke håndtert, og vi trodde naivt at ingen andre la merke til det.

Til slutt er det verdt å nevne at problemet har manifestert seg siden Linux-kjernen versjon 5.1 og ble løst i oppdateringene som ble utgitt for noen dager siden i versjonene 5.16.2, 5.15.16, 5.10.93, 5.4.173.

bortsett fra det Oppdateringer av sårbarhetspakke er allerede utgitt til RHELDebianfedora og Ubuntu. Mens løsningen ennå ikke er tilgjengelig på Arch LinuxGentooSUSE y openSUSE.

Når det gjelder disse nevnes det at som en sikkerhetsløsning for systemer som ikke bruker containerisolering, kan du sette verdien av sysctl "user.max_user_namespaces" til 0:

Forskeren som identifiserte problemet har publisert en demo av en utnyttelse que tillater å kjøre kode som root på Ubuntu 20.04 i standardkonfigurasjonen. Det er planlagt det utnyttelseskoden publiseres på GitHub innen en uke etter at distribusjoner gir ut en oppdatering som fikser sikkerhetsproblemet.

Endelig hvis du er interessert i å vite mer om det, kan du sjekke detaljene i følgende lenke.


Legg igjen kommentaren

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

*

*

  1. Ansvarlig for dataene: AB Internet Networks 2008 SL
  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.

  1.   galiciske sa

    Nok en grunn til ikke å røre snap med en pinne.