En sårbarhet i CAN BCM-nätverksprotokollet tillät eskalering av privilegier i Linux-kärnan 

i går information släpptes om en sårbarhet i Linux-kärnan och som redan är katalogiserad som CVE-2021-3609. Denna sårbarhet tillåter en lokal användare att höja sina privilegier på systemet på grund av ett rasförhållande vid implementeringen av CAN BCM-protokollet och manifesteras i version 2.6.25 till 5.13-rc6 av Linux-kärnan.

Domen utnyttjar eftersom det CAN BCM-protokollet låter dig registrera din egen meddelandehanterare av styrenhetens nätverk (CAN) och anslut den till ett specifikt nätverksuttag. När ett inkommande meddelande kommer anropas funktionen bcm_rx_handler () en angripare kan dra nytta av ett tävlingsvillkor och tvinga nätverksuttaget att stängas medan det körs bcm_rx_handler ().

Problemet uppstår när uttaget är stängt och funktionen kallas bcm_release (), i vilket minne som tilldelats för strukturer frigörs bcm_op och bcm_sock, som fortsätter att användas i hanteraren bcm_rx_handler () som fortfarande är igång, alltså uppstår en situation som leder till tillgång till ett redan frigjort minnesblock (användning efter-fri).

Detta är ett tillkännagivande av den nyligen rapporterade buggen (CVE-2021-3609) i CAN BCM-nätverksprotokollet i Linux-kärnan, allt från version 2.6.25 till huvudlinjen 5.13-rc6.
Sårbarheten är ett tävlingsvillkor i net / can / bcm.c som gör att rättighetsökningen kan rotera. Problemet rapporterades initialt av syzbot och Norbert Slusarek visade sig vara exploaterbart.

Attacken går ut på att öppna två CAN BCM-uttag och binda dem till vcan-gränssnittet. I den första kontakten ringer du sendmsg () med indikatorn RX_SETUP för att konfigurera styrenheten för inkommande CAN-meddelanden och på den andra kontakten ringer du sendmsg () för att skicka ett meddelande till den första kontakten.

När meddelandet anländer, bcm_rx_handler () -samtalet utlöses och angriparen tar rätt ögonblick och stänger det första uttaget, vilket leder till lanseringen av bcm_release () och lanseringen av strukturerna bcm_op och bcm_sock, även om arbetet med bcm_rx_handler () det har ännu inte slutförts.

Genom att manipulera innehållet i bcm_sock kan en angripare åsidosätta en pekare till sk-> sk_data_ready (sk) -funktionen, omdirigera körning, och med hjälp av returorienterad programmeringsteknik (ROP), åsidosätta modprobe_path-parametern och få sin kod att köra som root .

När ROP-tekniken används försöker angriparen inte sätta sin kod till minne av, men det fungerar bitarna av maskininstruktioner redan tillgängliga i laddade bibliotek, som slutar med ett kontrollreturuttalande (som regel är det slutet på biblioteksfunktionerna).

Behörigheterna som krävs för att utföra en attack kan förvärvas av en privilegierad användare i behållare som skapats på system med användarnamnsområden aktiverade. Exempelvis ingår användarnamnsytor som standard i Ubuntu och Fedora, men inte aktiverade i Debian och RHEL.

Mitt exploateringsförsök koncentrerar sig på kärnor med version> = 5.4-rc1 från commit bf74aa86e111. Jag undersökte inte exploatering av kärnor äldre än 5.4-rc1 med hjälp av tasklets, men att utnyttja äldre kärnor verkar också möjligt. 

Det nämns det forskaren som identifierade sårbarheten kunde förbereda en exploatering för att få root-rättigheter på system med kärnor från version 5.4 och senare, inklusive möjligheten till en framgångsrik attack på Ubuntu 20.04.02 LTS.

Arbetet med exploateringen reduceras till att bygga en kedja av samtal till liknande block ("prylar") för att få den funktionalitet som krävs. Attacken kräver åtkomst för att skapa CAN-uttag och ett konfigurerat vcan-nätverksgränssnitt.

Slutligen det nämns att problemet fortfarande kvarstår på de flesta distributioner, men det är några dagar innan motsvarande korrigeringar släpps.

Om du är intresserad av att veta mer om detkan du rådfråga följande länk.


Lämna din kommentar

Din e-postadress kommer inte att publiceras. Obligatoriska fält är markerade med *

*

*

  1. Ansvarig för data: AB Internet Networks 2008 SL
  2. Syftet med uppgifterna: Kontrollera skräppost, kommentarhantering.
  3. Legitimering: Ditt samtycke
  4. Kommunikation av uppgifterna: Uppgifterna kommer inte att kommuniceras till tredje part förutom enligt laglig skyldighet.
  5. Datalagring: databas värd för Occentus Networks (EU)
  6. Rättigheter: När som helst kan du begränsa, återställa och radera din information.