A CAN BCM hálózati protokoll biztonsági rése lehetővé tette a privilégiumok eszkalációját a linux kerneljében 

tegnap információk jelentek meg a Linux kernel egy sebezhetőségéről és amely már CVE-2021-3609 néven van katalogizálva. Ez a sebezhetőség lehetővé teszi egy helyi felhasználó számára, hogy emelje privilégiumait a rendszeren a CAN BCM protokoll megvalósításának versenyfeltétele miatt, és a Linux kernel 2.6.25–5.13-rc6 verzióiban nyilvánul meg.

Az ítélet kihasználja mert a A CAN BCM protokoll lehetővé teszi a saját üzenetkezelő regisztrálását a vezérlő területi hálózatának (CAN) és csatlakoztassa egy adott hálózati aljzathoz. Amikor beérkező üzenet érkezik, a függvény meghívásra kerül bcm_rx_handler () egy támadó kihasználhatja a versenyfeltételeket, és végrehajtás közben a hálózati aljzat bezárására kényszerítheti bcm_rx_handler ().

A probléma akkor jelentkezik, amikor az aljzat zárva van és a függvényt meghívjuk bcm_release (), amelyben felszabadul a struktúrák számára lefoglalt memória bcm_op és bcm_sock, amelyeket továbbra is használnak a kezelőben bcm_rx_handler () amely még mindig fut, így olyan helyzet áll elő, amely egy már felszabadított memóriablokkhoz (használat utáni szabad) való hozzáféréshez vezet.

Ez a közelmúltban jelentett hiba (CVE-2021-3609) a CAN BCM hálózati protokollban a Linux kernelben, a 2.6.25 verziótól az 5.13-rc6 fővonalig terjed.
A sérülékenység egy versenyfeltétel a net / can / bcm.c fájlban, amely lehetővé teszi a privilégiumok fokozását. A problémáról kezdetben syzbot számolt be, és Norbert Slusarek kizsákmányolhatónak bizonyult.

A támadás két CAN BCM aljzat kinyitásával és a vcan interfészhez kötésével jár. Az első csatlakozóban hívja sendmsg () a mutatóval RX_SETUP a vezérlő konfigurálásához a bejövő CAN-üzenetekhez és a második csatlakozóhoz hívja sendmsg () üzenetet küldeni az első csatlakozóhoz.

Az üzenet megérkezése után a bcm_rx_handler () hívás elindul, és a támadó megfelelő pillanatot vesz fel, és bezárja az első foglalatot, ami elindításához vezet bcm_release () és a struktúrák elindítása bcm_op és bcm_sock, bár a bcm_rx_handler () még nem fejeződött be.

A bcm_sock tartalmának manipulálásával a támadó felülírhatja az sk-> sk_data_ready (sk) függvény mutatóját, átirányíthatja a végrehajtást, és a visszatérés-orientált programozási (ROP) technikák használatával felülírhatja a modprobe_path paramétert, és kódját rootként futtathatja .

A ROP technika használatakor a támadó nem próbálja meg betenni a kódját emlékére, de működik darabjai már elérhető gépi utasítások betöltött könyvtárakban egy vezérlő visszatérési utasítással végződve (ezek általában a könyvtári függvények vége).

A támadás végrehajtásához szükséges jogosultságokat kiváltságtalan felhasználó szerezheti meg olyan rendszerekben létrehozott tárolókban, amelyekben engedélyezett a felhasználói névtér. Például a felhasználói névterek alapértelmezés szerint szerepelnek az Ubuntuban és a Fedora-ban, de a Debianban és az RHEL-ben nincsenek engedélyezve.

Kihasználási próbálkozásom a bf5.4aa1e74 elkövetési> = 86-rc111 verziójú rendszermagjaira koncentrál. Nem vizsgáltam az 5.4-rc1-nél régebbi kernek kihasználását tasklets használatával, azonban a régebbi kernelek kihasználása is megvalósíthatónak tűnik. 

Azt emlegetik a sebezhetőséget azonosító kutató képes volt előkészíteni egy kihasználást gyökérjogok megszerzése az 5.4-es vagy újabb verziójú rendszermagokkal rendelkező rendszereken, beleértve az Ubuntu 20.04.02 LTS elleni sikeres támadás lehetőségét.

A kihasználás munkája a blokkok ("kütyük") hívásláncának felépítésére redukálódik a szükséges funkcionalitás elérése érdekében. A támadáshoz hozzáférés szükséges a CAN-foglalatok és egy konfigurált vcan hálózati interfész létrehozásához.

Végül megemlítik, hogy a probléma továbbra is fennáll a legtöbb disztribúción, de napok kérdése, mire a megfelelő javítások megjelennek.

Ha érdekel, hogy többet tudjon meg róla, konzultálhat a következő link.


Hagyja megjegyzését

E-mail címed nem kerül nyilvánosságra. Kötelező mezők vannak jelölve *

*

*

  1. Az adatokért felelős: AB Internet Networks 2008 SL
  2. Az adatok célja: A SPAM ellenőrzése, a megjegyzések kezelése.
  3. Legitimáció: Az Ön beleegyezése
  4. Az adatok közlése: Az adatokat csak jogi kötelezettség alapján továbbítjuk harmadik felekkel.
  5. Adattárolás: Az Occentus Networks (EU) által üzemeltetett adatbázis
  6. Jogok: Bármikor korlátozhatja, helyreállíthatja és törölheti adatait.