Beveiligingsonderzoekers hebben een kwetsbaarheid ontdekt in pkexec
, een component die in vrijwel alle Linux-distributies te vinden is. Met de PwnKit-exploit is het mogelijk rootrechten op een systeem te krijgen. Er zijn inmiddels proofs-of-concept die uitbuiting aantonen.
De kwetsbaarheid werd ontdekt door beveiligingsbedrijf Qualys en heeft code CVE-2021-4034 meegekregen, maar de onderzoekers noemen de bug ook PwnKit. De bug zit in pkexec, een functie binnen Polkit in Linux die het mogelijk maakt commando's uit te voeren als een andere gebruiker. Die feature wordt sinds 2009 in de meeste Linux-distro's standaard meegeleverd. Volgens de onderzoekers zit de specifieke kwetsbaarheid al sinds de eerste commit in de software en treft die dus potentieel veel gebruikers. De bug kan worden uitgebuit op systemen waarop een aanvaller toegang heeft tot lokale gebruikersrechten.
Volgens de onderzoekers zit er een geheugenbug in de feature. Daardoor is het mogelijk een out of bounds write op te roepen waar een aanvaller vervolgens een onveilige variable in kan zetten. Normaal gesproken wordt deze tegengehouden door de software, maar de onderzoekers vonden een manier om dat te omzeilen.
Hoewel de ontdekkers geen exploitcode publiceren, waarschuwen ze dat er waarschijnlijk snel exploits beschikbaar komen. Het lek zou namelijk 'heel eenvoudig' zijn en al die tijd makkelijk te spotten zijn geweest. Volgens BleepingComputer zijn er inmiddels al werkende exploits beschikbaar, die de site ook heeft getest.
De onderzoekers zeggen dat ze de bug succesvol wisten uit te buiten in Ubuntu, Debian, Fedora en CentOS, maar ze speculeren dat andere distro's 'waarschijnlijk ook kwetsbaar en uit te buiten zijn'. Ook niet-Linux-systemen zoals Solaris en *BSD zouden mogelijk kwetsbaar zijn omdat Polkit daar ook in zit, maar daarop hebben de onderzoekers geen praktische test gedraaid. OpenBSD is volgens hen in ieder geval wél veilig.
Qualys ontdekte de bug in november en heeft die vervolgens doorgegeven aan meerdere ontwikkelaars en fabrikanten. De originele Polkit-ontwikkelaars hebben een patch uitgebracht. De onderzoekers van Qualys noemen daarnaast een mitigatiemogelijkheid; met # chmod 0755 /usr/bin/pkexec
worden de rechten van de tool aangepast, zodat authenticatie niet meer mogelijk is.