En sårbarhet for mer enn 15 år siden i Netfilter tillot opptrapping av privilegier

For noen dager siden ble nyheten gitt ut at en sårbarhet er identifisert i Netfilter (et Linux-kjernedelsystem som brukes til å filtrere og endre nettverkspakker), som lar en lokal bruker få root-rettigheter i et systemselv i en isolert beholder.

CVE-2021-22555 sårbarheten det er et problem som har eksistert siden kjernen 2.6.19, lansert for 15 år siden og er forårsaket av en feil i driverne IPT_SO_SET_REPLACE og IP6T_SO_SET_REPLACE, som forårsaker bufferoverløp når du sender spesialinnredede parametere via setsockopt-samtalen i kompatibel modus.

Kanskje mange på dette punktet vil lure på hvordan det er mulig at en feil i Linux-kjernen kan gå ubemerket så lenge, og svaret på det er at selv om feilen som var til stede siden Linux 2.6.19, ble sårbarheten funnet gjennom kode revisjon, selv om C-koden ikke var reproduserbar, så den kunne ikke utnyttes fordi de nødvendige ressursene for å eskalere privilegiene ikke ble funnet på det tidspunktet.

For eksempel er støtte for ikke-privilegerte brukernavnområder i kjerne 3.8. Noen distribusjoner har også en oppdatering som legger til sysctl for å deaktivere ikke-privilegerte brukernavnområder.

Under normale omstendigheter er det bare rotbrukeren som kan ringe compat_setsockopt ()Men nødvendige tillatelser å utføre et angrep de kan også skaffes av en uprivilegert bruker på systemer med brukernavnområder aktivert.

CVE-2021-22555 er en 15 år gammel sikkerhetsproblem i Linux Netfilter som er kraftig nok til å omgå alle moderne sikkerhetsreduksjoner og oppnå kjernekodeutførelse.

Som sådan er det beskrevet at en lokal bruker kan opprette en container med en egen rotbruker og utnytte sårbarheten derfraJeg. For eksempel er "brukernavnområder" inkludert som standard i Ubuntu og Fedora, men ikke i Debian og RHEL.

Denne sårbarheten kan utnyttes ved delvis å overskrive m_list->nextpekeren msg_msgstruktur og oppnå en gratis etter bruk. Dette er kraftig nok til at kjernekoden din kjører utenom KASLR, SMAP og SMEP.

Det oppstår også et problem i funksjonen xt_compat_target_from_user () på grunn av feil minnestørrelsesberegning når du lagrer kjernestrukturer etter konvertering fra 32-bit til 64-bit representasjon.

Som sådan er det nevnt at feilen tillater å skrive fire "null" byte til hvilken som helst posisjon utenfor bufferen tildelt, begrenset av offset 0x4C. På grunn av dette er det nevnt at denne funksjonen viste seg å være nok til å skape en utnyttelse som tillater å skaffe rotrettigheter: ved å slette m_list-> neste peker i msg_msg-strukturen, ble betingelsene for å få tilgang til dataene etter frigjøring av minne opprettet (bruk etter-gratis), som deretter ble brukt til å innhente informasjon om adresser og endringer til andre strukturer ved å manipulere msgsnd () systemanropet.

Når det gjelder feilrapporten, som alle oppdagede sårbarheter, involverer dette en prosess og rapporten som ble laget til kerneutviklerne i april, som den deretter ble rettet på i løpet av noen få dager og oppdateringen som er inkludert i alle støttede distribusjoner, så at informasjon om feilen kan frigjøres senere.

Debian-, Arch Linux- og Fedora-prosjektene har allerede generert pakkeoppdateringer. Starter med Ubuntu, RHEL og SUSE oppdateringer er i ferd. Fordi feilen er alvorlig, utnyttbar i praksis og tillater flukt fra containeren, Google estimerte oppdagelsen til $ 10,000 og doblet belønningen til forskeren som identifiserte sårbarheten og for å identifisere en metode for å unngå å isolere Kubernetes-containere på kCTF-klyngen.

For testing er det utarbeidet en fungerende prototype av en utnyttelse som omgår KASLR-, SMAP- og SMEP-beskyttelsesmekanismene.

Endelig hvis du er 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: 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.