
Lehrreicher PoC des CVE-2021-4034, der PwnKit, LPE via pkexec von polkit. Nur autorisierte Nutzung.
Proof of Concept für PwnKit, eine lokale Privilegieneskalation im pkexec von polkit. Bei einer Standardinstallation kann jeder unprivilegierte lokale Benutzer Root werden.
Verwundbare Versionen von pkexec behandeln die Anzahl der Prozessargumente falsch. Dadurch können kontrollierte Umgebungsvariablen wieder in die Umgebung von pkexec eingeschleust werden, was letztendlich dazu führt, dass ein vom Angreifer kontrolliertes Shared Object als Root ausgeführt wird. Der Fehler wurde am 25. Januar 2022 vom Qualys Research Team offengelegt und erreicht einen CVSS-Score von 7,8 (hoch) im CVSS v3.1. Der NVD-Eintrag ist CVE-2021-4034.
Praktisch alle polkit-Veröffentlichungen seit 2009 waren betroffen, bis die koordinierte Korrektur veröffentlicht wurde. Die Distributionen haben am oder nach dem Offenlegungsdatum gepatchte Pakete ausgeliefert. Halten Sie daher Ihre Hersteller-Updates auf dem neuesten Stand.
Dies ist eine pädagogische Referenz für eine gut dokumentierte, öffentlich bekannt gegebene Schwachstelle. Ich nutze sie, um den Fehler in der Argumentbehandlung von pkexec zu studieren, den Patch-Status in autorisierten Laboren und Bewertungen zu überprüfen und um Erkennungs- und Behebungsnotizen zu führen.
Führen Sie dies nur auf Systemen aus, die Ihnen gehören oder für die Sie autorisiert sind, Tests durchzuführen.
gcc cve-2021-4034-poc.c -o cve-2021-4034-poc
./cve-2021-4034-poc
Auf einem verwundbaren Rechner erhalten Sie eine Root-Shell. Getestet gegen Debian 10 Buster und CentOS 7.
Patchen Sie polkit und pkexec auf die korrigierte Version Ihrer Distribution. Wenn Sie nicht sofort patchen können, entfernen Sie das SUID-Bit mit chmod 0755 auf der pkexec-Binärdatei, wobei Sie akzeptieren, dass Sie die Privilegienweitergabe von pkexec verlieren. Zur Erkennung sollten Sie nach pkexec-Aufrufen mit einem leeren argv oder einer ungewöhnlichen Umgebung wie GCONV_PATH, CHARSET oder SHELL unmittelbar vor dem Auftauchen einer Root-Shell alarmieren.
Die Sicherheitslücke wurde vom Qualys Research Team gefunden und verantwortungsvoll offengelegt.
oss-security Advisory: https://seclists.org/oss-sec/2022/q1/80
Dieser Code wird ausschließlich zu Studienzwecken und für autorisierte Sicherheitstests veröffentlicht. Die Ausführung auf Systemen, die Ihnen nicht gehören oder für deren Test Sie keine schriftliche Genehmigung haben, ist illegal und kann straf- und zivilrechtliche Konsequenzen haben. Verwenden Sie ihn in Ihren eigenen Laboren oder im Rahmen eines unterzeichneten Engagement-Umfangs. Sie sind für das, was Sie damit tun, selbst verantwortlich.