Critical 0-day vulnerability in Polkit pkexec component


A vulnerability in Polkit's (PolicyKit) pkexec component identified as CVE-2021-4034 (PwnKit) is present in the default configuration of all major Linux distributions and can be exploited to gain full root privileges on the system. The issue exists within PolicyKit pkexec tool's incorrect handling of command-line arguments.

A local unprivileged user could use this vulnerability to escalate privileges to an administrator. Example proof of concept exploitation code is currently emerging within the public domain which we will continue to monitor and update when new information becomes available. We are aware of the following proof of concept exploit code; however we would not recommend running these without performing your own due diligence;

Proof of Concept Exploit


Vendor patches/hot fixes have been released by the respective vendors and its strongly recommended these are applied as soon as possible. A temporary mitigation for operating systems that have yet to push a patch is to strip pkexec of the SUID read/write rights with the following command:

chmod 0755 /usr/bin/pkexec

Please ensure that a review of this permission change effect would have within your environment before changing this permission.

Am I Affected?

If your OS uses policy kit and you have not updated your OS then you are likely to be affected. Updates for this issue started being issued around the 25th January 2022.The presence of policykit can be tested by checking for the existence of the pkexec binary. If your OS installs this in the standard location then the following test will show this.

$ test -f /usr/bin/pkexec && echo "pkexec exists."

Alternatively find can be used to detect pkexec installed in non-standard locations.

# find / -name pkexec -print 2>/dev/null

We continue to actively monitor the situation.