PwnKit esettanulmány
A PolKit pkexec probléma esetén keresztül megmutatjuk, milyen egy sebezhetőség "életciklusa" a felderítéstől a javításig.
2022. január 25-én a Qualys nyilvánosságra hozta a PolKit pkexec programjában talált memóriakorrupciós sebezhetőséget (CVE-2021-4034), amelyet kiemelten veszélyesnek talált (CVSS pontszám: 7,8). Ez a hiba könnyen kihasználható a helyi jogosultságok kiterjesztésére, rendszergazdai jogosultság megszerzésére.
Idővonal
A Qualys 2021. 11. 18-án figyelmeztetést küldött a secalert@redhat-nak, amiben leírták, hogy hibát találtak, majd 2022. 01. 11-én a probléma leírását és egyben a program javítását is megküldték a nyílt forráskódú szoftverek biztonságával foglalkozó szervezetnek, a distros@openwall-nak is. Ennek eredményeként 01. 25-én a legtöbb Linux-disztribúció koordináltan, egyszerre kiadta a javított csomagokat. A rés megléte ekkor került a széles nyilvánosság elé, de azonnal be is foltozhatták a felhasználók. A szakértők úgy gondolták, hogy a hiba egyszerű természete miatt akár két-három napon belül felbukkanhatnak az átmeneti időt kihasználó kódok, módszerek. Ebben tévedtek, körülbelül 3 órára volt csak szükség.
Mi a PolKit és a pkexec?
A korábban PolicyKit néven ismert PolKit a Unix-szerű operációs rendszerekben széles körben használt komponens. A rendszerszintű jogosultságokat ellenőrzi, és kommunikációt biztosít a folyamatok között. A PolKit egyik parancsa a pkexec, amellyel más személyként futtathatók programok (például root).
Mi a CVE-2021-4034?
A pkexecben azonban memóriakorrupciós hibát találtak: a program nem végez megfelelő ellenőrzést az adatokon, ezért lehetővé teszi a támadók számára a környezeti változók manipulálását. Ez a rés a pkexec 2009. májusi bevezetése óta létezik.
Hogyan lehet kihasználni?
A hiba lehetővé teszi a támadók számára, hogy emelt szintű jogosultságokat szerezzenek a célrendszerben. Ha tehát a rosszindulatú támadó eléri, hogy egy normál felhasználó nevében elinduljon a programja, akkor ezt a sebezhetőséget kihasználva már rendszergazdai szinten is tud tetszőleges programot futtatni. Persze nem teljesen láthatatlanul, mert a felhasználónak el kell indítania valamilyen programot, ami extra jogosultságot kér. Ez esetben viszont nemcsak az általa kért program fut le, hanem a rosszindulatú kód is.
Milyen hatása van?
A hiba lehetővé teszi, hogy a támadók parancsokat hajtsanak végre emelt jogosultságokkal egy helyi Linux rendszeren, vagyis korlátlan teljhatalomhoz jutnak.
Hogyan lehet védekezni?
A védekezés első és legfontosabb eszköze a frissítés. Frissítsd mind a rendszert, mind pedig az applikációkat. Amennyiben mégis olyan rendszert használsz, amihez nem adtak ki erre vonatkozó javítást, ideiglenes megoldással is tudsz védekezni. Ez nem más, mint a jogosultságok elvétele a pkexec programtól - merthogy Linux alatt erre is lehetőséged van.
Ha tetszett a cikk, akkor vásárold meg a 2022/04-es PC World magazint, abban ugyanis még több ilyet találsz, ráadásul ajándékba jár hozzá néhány értékes szoftver és egy PC-s játék is.