Een kwetsbaarheid in het CAN BCM-netwerkprotocol maakte escalatie van bevoegdheden in de Linux-kernel mogelijk 

gisteren informatie vrijgegeven over een kwetsbaarheid in de Linux-kernel en die al is gecatalogiseerd als CVE-2021-3609. Deze kwetsbaarheid staat een lokale gebruiker toe om hun privileges op het systeem te verhogen vanwege een race-conditie in de implementatie van het CAN BCM-protocol en gemanifesteerd in versies 2.6.25 tot 5.13-rc6 van de Linux-kernel.

De uitspraak profiteert omdat de Met het CAN BCM-protocol kunt u uw eigen berichtenbeheerder registreren van het gebiedsnetwerk van de controller (CAN) en sluit deze aan op een specifieke netwerkaansluiting. Wanneer een inkomend bericht binnenkomt, wordt de functie aangeroepen bcm_rx_handler () een aanvaller kan profiteren van een race-conditie en de netwerksocket dwingen om te sluiten tijdens het uitvoeren bcm_rx_handler ().

Het probleem komt wanneer het stopcontact is gesloten en de functie heet bcm_release (), waarin geheugen toegewezen voor structuren wordt vrijgemaakt bcm_op en bcm_sock, die nog steeds worden gebruikt in handler bcm_rx_handler () die nog loopt, ontstaat er dus een situatie die leidt tot toegang tot een reeds vrijgemaakt geheugenblok (use-after-free).

Dit is een aankondiging van de recent gerapporteerde bug (CVE-2021-3609) in het CAN BCM-netwerkprotocol in de Linux-kernel, variërend van versie 2.6.25 tot mainline 5.13-rc6.
De kwetsbaarheid is een raceconditie in net / can / bcm.c die escalatie van bevoegdheden naar root mogelijk maakt. Het probleem werd aanvankelijk gemeld door syzbot en Norbert Slusarek bleek te exploiteren.

De aanval komt neer op het openen van twee CAN BCM-sockets en deze te binden aan de vcan-interface. In de eerste connector bel je stuur bericht () met de indicator RX_SETUP om de controller te configureren voor inkomende CAN-berichten en op de tweede connector bel je stuur bericht () om een ​​bericht naar de eerste connector te sturen.

Nadat het bericht is aangekomen, de aanroep bcm_rx_handler () wordt geactiveerd en de aanvaller neemt het juiste moment en sluit de eerste socket, wat leidt tot de lancering van bcm_release () en de lancering van de structuren bcm_op en bcm_sock, hoewel het werk van bcm_rx_handler () het is nog niet afgerond.

Door de inhoud van bcm_sock te manipuleren, kan een aanvaller een aanwijzer naar de functie sk-> sk_data_ready (sk) overschrijven, uitvoering omleiden en, met behulp van ROP-technieken (return-oriented programming) de parameter modprobe_path overschrijven en zijn code als root laten draaien .

Bij gebruik van de ROP-techniek probeert de aanvaller zijn code niet in te voeren ter nagedachtenis van, maar het werkt op de stukjes van machine-instructies al beschikbaar in geladen bibliotheken, eindigend met een control return-statement (in de regel zijn dit het einde van de bibliotheekfuncties).

De machtigingen die nodig zijn om een ​​aanval uit te voeren, kunnen worden verkregen door een onbevoegde gebruiker in containers die zijn gemaakt op systemen waarop gebruikersnaamruimten zijn ingeschakeld. Gebruikersnaamruimten zijn bijvoorbeeld standaard opgenomen in Ubuntu en Fedora, maar niet ingeschakeld in Debian en RHEL.

Mijn exploitpoging concentreert zich op kernels met versie> = 5.4-rc1 van commit bf74aa86e111. Ik heb geen onderzoek gedaan naar het exploiteren van kernels ouder dan 5.4-rc1 met behulp van tasklets, maar het exploiteren van oudere kernels lijkt ook haalbaar. 

Er wordt gezegd dat de onderzoeker die de kwetsbaarheid identificeerde kon een exploit voorbereiden om rootrechten te verkrijgen op systemen met kernels vanaf versie 5.4 en hoger, inclusief de mogelijkheid van een succesvolle aanval op Ubuntu 20.04.02 LTS.

Het werk van de exploit is beperkt tot het bouwen van een keten van oproepen naar vergelijkbare blokken ("gadgets") om de vereiste functionaliteit te verkrijgen. De aanval vereist toegang om CAN-sockets en een geconfigureerde vcan-netwerkinterface te maken.

Eindelijk er wordt vermeld dat het probleem zich nog steeds voordoet op de meeste distributies, maar het is een kwestie van dagen voordat de bijbehorende patches worden uitgebracht.

Als je er meer over wilt weten, kunt u raadplegen de volgende link.


Laat je reactie achter

Uw e-mailadres wordt niet gepubliceerd. Verplichte velden zijn gemarkeerd met *

*

*

  1. Verantwoordelijk voor de gegevens: AB Internet Networks 2008 SL
  2. Doel van de gegevens: Controle SPAM, commentaarbeheer.
  3. Legitimatie: uw toestemming
  4. Mededeling van de gegevens: De gegevens worden niet aan derden meegedeeld, behalve op grond van wettelijke verplichting.
  5. Gegevensopslag: database gehost door Occentus Networks (EU)
  6. Rechten: u kunt uw gegevens op elk moment beperken, herstellen en verwijderen.