En sårbarhed i CAN BCM-netværksprotokollen tillod optrapning af privilegier i linux-kernen 

i går Oplysninger om en sårbarhed i Linux-kernen blev frigivet og som allerede er katalogiseret som CVE-2021-3609. Denne sårbarhed giver en lokal bruger mulighed for at øge deres privilegier på systemet på grund af en racetilstand i CAN BCM-protokolimplementeringen og manifesterer sig i Linux-kerneversionerne 2.6.25 til 5.13-rc6.

Fejlen udnytter fordi CAN BCM-protokollen giver dig mulighed for at registrere din egen beskedadministrator controller area network (CAN) og tilslut den til et dedikeret netværksstik. Når der kommer en indgående besked, kaldes funktionen bcm_rx_handler() en angriber kan drage fordel af en race-tilstand og tvinge netværkssocket til at lukke på samme tid som eksekvering bcm_rx_handler().

Problemet opstår, når stikkontakten er lukket og funktionen kaldes bcm_release(), hvori den hukommelse, der er allokeret til strukturerne, frigøres bcm_op og bcm_sock, som fortsat bruges i handler bcm_rx_handler() som stadig kører, og dermed opstår der en situation, der fører til adgang til en allerede frigjort hukommelsesblok (brug-efter-fri).

Dette er en meddelelse om den nyligt rapporterede fejl (CVE-2021-3609) i CAN BCM-netværksprotokollen i Linux-kernen, der spænder fra version 2.6.25 til mainline 5.13-rc6.
Sårbarheden er en racetilstand i net/can/bcm.c, der tillader privilegieeskalering til at roote. Problemet blev oprindeligt rapporteret af syzbot, og Norbert Slusarek viste sig at kunne udnyttes.

Angrebet går ud på at åbne to CAN BCM-sokler og binde dem til vcan-grænsefladen. I det første stik ringer du sendmsg () med indikator RX_SETUP for at konfigurere controlleren til indgående CAN-meddelelser og på det andet stik, ring sendmsg () for at sende en besked til den første forbindelse.

Efter beskeden ankommer, bcm_rx_handler()-kaldet udløses, og angriberen tager det rigtige øjeblik og lukker den første socket, som fører til frigivelse af bcm_release() og lanceringen af ​​strukturerne bcm_op og bcm_sock, selvom arbejdet med bcm_rx_handler() er endnu ikke afsluttet.

Ved at manipulere indholdet af bcm_sock kan en angriber tilsidesætte en pointer til funktionen sk-> sk_data_ready (sk), omdirigere udførelse og ved hjælp af returorienteret programmering (ROP) teknikker overskrive parameteren modprobe_path og få hans kode til at fejle. køre som rod.

Når ROP-teknikken bruges, forsøger angriberen ikke at placere sin kode til minde om, men det virker stykkerne af instruktionerne til maskinen, der allerede er tilgængelige i indlæste biblioteker, der slutter med en kontrolretur-sætning (som regel er disse slutningen af ​​biblioteksfunktioner).

De nødvendige tilladelser til at udføre et angreb kan erhverves af en uprivilegeret bruger i containere, der er oprettet på systemer med aktiveret brugernavnerum. For eksempel er brugernavnerum inkluderet som standard på Ubuntu og Fedora, men er ikke aktiveret på Debian og RHEL.

Mit udnyttelsesforsøg koncentrerer sig om kerner med version >= 5.4-rc1 siden bf74aa86e111 commit. Jeg undersøgte ikke at udnytte kerner ældre end 5.4-rc1 ved hjælp af tasklets, men udnyttelse på ældre kerner synes også muligt. 

Det nævnes det forskeren, der identificerede sårbarheden, var i stand til at forberede en udnyttelse at få root-rettigheder på systemer med kerner fra version 5.4 og senere, herunder muligheden for et vellykket angreb på Ubuntu 20.04.02 LTS.

Udnyttelsens arbejde er reduceret til at bygge en kæde af opkald til lignende blokke ("gadgets") for at opnå den nødvendige funktionalitet. Angrebet kræver adgang til at oprette CAN-sockets og en konfigureret vcan-netværksgrænseflade.

Endelig det nævnes, at problemet stadig består i de fleste distributioner, men det er et spørgsmål om dage, før de tilsvarende patches udgives.

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


Efterlad din kommentar

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

*

*

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