CAN BCM-i võrguprotokolli haavatavus võimaldas Linuxi kernelis privileegide laienemist 

Eile avaldati teave Linuxi kerneli haavatavuse kohta ja mis on juba kataloogis CVE-2021-3609. See haavatavus võimaldab kohalikul kasutajal tõsta oma õigusi süsteemis rassiolukorra tõttu CAN BCM-i protokolli rakendamisel ja avaldub Linuxi tuuma versioonides 2.6.25 kuni 5.13-rc6.

Otsus kasutab ära sest CAN BCM-i protokoll võimaldab teil registreerida oma sõnumihalduri kontrolleri piirkonnavõrk (CAN) ja ühendage see kindla võrgupesaga. Sissetuleva sõnumi saabumisel kutsutakse funktsiooni bcm_rx_handler () ründaja saab võistluse olukorda ära kasutada ja sundida käivitamisel võrgupesa sulgema bcm_rx_handler ().

Probleem tuleb siis, kui pistikupesa on suletud ja funktsiooni nimetatakse bcm_release (), milles vabaneb struktuuridele eraldatud mälu bcm_op ja bcm_sock, mida jätkatakse käitlejana bcm_rx_handler () mis veel töötab, seega tekib olukord, mis viib juurdepääsu juba vabastatud mäluplokile (kasuta pärast tasuta).

See on teade hiljuti teatatud veast (CVE-2021-3609) CAN BCM-i võrguprotokollis Linuxi kernelis alates versioonist 2.6.25 kuni põhiliinini 5.13-rc6.
Haavatavus on võistlustingimus võrgus net / can / bcm.c, mis võimaldab juurida privileegi eskaleerumist. Algselt teatas probleemist syzbot ja Norbert Slusarek osutus ärakasutatavaks.

Rünnak taandub kahe CAN BCM-i pesa avamisele ja nende ühendamisele vcan-liidesega. Esimeses pistikus helistate sendmsg () indikaatoriga RX_SETUP kontrolleri konfigureerimiseks sissetulevate CAN-sõnumite jaoks ja teisel pistikul helistate sendmsg () esimesse pistikusse sõnumi saatmiseks.

Pärast teate saabumist käivitatakse kõne bcm_rx_handler () ja ründaja võtab õige hetke ja sulgeb esimese pesa, mis viib programmi käivitamiseni bcm_release () ja struktuuride käivitamine bcm_op ja bcm_sock, kuigi töö bcm_rx_handler () see pole veel lõpule jõudnud.

Bcm_socki sisuga manipuleerides saab ründaja funktsiooni sk-> sk_data_ready (sk) kursori tühistada, ümbersuunamise käivitada ja tagasipöörduva programmeerimise (ROP) tehnikate abil alistada parameetri modprobe_path ja panna oma koodi rootina käivitama .

ROP-tehnika kasutamisel ei ürita ründaja koodi sisestada mälestades, kuid see opereerib tükid masina juhised on juba saadaval laetud raamatukogudes, lõpetades kontroll-tagasilausega (reeglina on need teegi funktsioonide lõpp).

Rünnaku läbiviimiseks vajalikke õigusi saab privilegeeritud kasutaja konteinerites, mis on loodud süsteemides, kus kasutajanimed on lubatud. Näiteks on Ubuntu ja Fedora vaikimisi lisatud kasutajanimed, kuid Debianis ja RHEL-is pole need lubatud.

Minu ärakasutamise katse keskendub rakenduse bf5.4aa1e74 tuumadele versiooniga> = 86-rc111. Ma ei uurinud vanemate kui 5.4-rc1 tuumade kasutamist tasklettide abil, kuid ka vanemate tuumade kasutamine tundub olevat teostatav. 

Seda mainitakse haavatavuse tuvastanud teadlane suutis selle ära kasutada tuuma süsteemide juurversioonide saamiseks versioonist 5.4 ja uuematest, sh võimalus edukaks rünnakuks Ubuntu 20.04.02 LTS-ile.

Kasutamise töö taandub kõnede ahela loomisele sarnastele plokkidele ("vidinatele"), et saada vajalik funktsionaalsus. Rünnak nõuab juurdepääsu CAN-pistikupesade ja konfigureeritud vcan-võrguliidese loomiseks.

Lõpuks mainitakse, et probleem püsib endiselt enamikul levitustel, kuid vastavate plaastrite vabastamine on päevade küsimus.

Kui olete huvitatud sellest rohkem teada saama, saate nõu pidada järgmine link.


Jäta oma kommentaar

Sinu e-postiaadressi ei avaldata. Kohustuslikud väljad on tähistatud *

*

*

  1. Andmete eest vastutav: AB Internet Networks 2008 SL
  2. Andmete eesmärk: Rämpsposti kontrollimine, kommentaaride haldamine.
  3. Seadustamine: teie nõusolek
  4. Andmete edastamine: andmeid ei edastata kolmandatele isikutele, välja arvatud juriidilise kohustuse alusel.
  5. Andmete salvestamine: andmebaas, mida haldab Occentus Networks (EL)
  6. Õigused: igal ajal saate oma teavet piirata, taastada ja kustutada.