Ugrás a fő tartalomhoz

A CVE-2022-0847 (Dirty Pipe) sérülékenység megértése

Ebben a bejegyzésben a Linux kernel egyik kritikus sérülékenységét vizsgáljuk, amelyet CVE-2022-0847 alatt regisztráltak. Ez a hiba, amelyet "Dirty Pipe" néven is ismernek, lehetővé teszi egy nem rendszergazdai (unprivileged) helyi felhasználó számára, hogy jogosultságot szerezzen a rendszer felett.

Mi ez a sérülékenység?

A hiba a Linux kernel pipe-kezelésének megvalósításában található (pl. copy_page_to_iter_pipe és push_pipe függvények), ahol a pipe buffer struktúra flags mezője hibásan van inicializálva. Ez azt eredményezi, hogy a mező régi, érvénytelen értékeket tartalmazhat, ami lehetőséget ad egy támadónak arra, hogy írjon olyan fájloldalakba, amelyek alapértelmezés szerint csak olvashatóak.

Hogyan működik?

A támadó olyan csőbe ír adatot, amely olvasható fájlra vagy szimbolikus linkre mutat. A kernel ilyenkor új memóriát próbál lefoglalni a pipe buffer számára, de a nem megfelelően inicializált flags mező régi, veszélyes értékeket tartalmazhat. Ennek eredményeként a kernel nem ellenőrzi megfelelően, hogy az írás érvényes-e, így a támadó meg tudja változtatni az oldalcache-t – még csak olvasható fájlokon keresztül is.

Kik érintettek?

Bármely rendszer, amely érintett Linux kernel verziót futtat, potenciálisan veszélyben van. Az alábbi disztribúciók megerősítették az érintettséget:

  • Red Hat
  • SUSE
  • NetApp ONTAP
  • SonicWall

Enyhítési lépések

Az érintett rendszerek esetében javasolt azonnal frissíteni a javított kernelverzióra. Az alábbi linkeken megtalálhatók a különböző disztribúciókhoz kiadott javítások:

Hivatkozott források

Források