Polkit (formerly PolicyKit) is a component for controlling system-wide privileges in Unix-like operating systems. It provides an organized way for non-privileged processes to communicate with privileged ones. Polkit allows a level of control of centralized system policy. It is developed and maintained by David Zeuthen from Red Hat and hosted by the freedesktop.org project. It is published as free software under the terms of version 2 of the GNU Lesser General Public License.[3]
Since version 0.105, released in April 2012,[4][5] the name of the project was changed from PolicyKit to polkit to emphasize that the system component was rewritten[6] and that the API had changed, breaking backward compatibility.[7][dubious – discuss]
Fedora became the first distribution to include PolicyKit, and it has since been used in other distributions, including Ubuntu since version 8.04 and openSUSE since version 10.3. Some distributions, like Fedora,[8] have already switched to the rewritten polkit.
It is also possible to use polkit to execute commands with elevated privileges using the command pkexec followed by the command intended to be executed (with root permission).[9] However, it may be preferable to use sudo, as this command provides more flexibility and security, in addition to being easier to configure.[10]
Implementation
The polkitddaemon implements Polkit functionality.[11]
A memory corruption vulnerability PwnKit (CVE-2021-4034[12]) discovered in the pkexec command (installed on all major Linux distributions) was announced on January 25, 2022.[13][14] The vulnerability dates back to the original distribution from 2009. The vulnerability received a CVSS score of 7.8 ("High severity") reflecting serious factors involved in a possible exploit: unprivileged users can gain full root privileges, regardless of the underlying machine architecture or whether the polkit daemon is running or not.
^"Chapter 9. PolicyKit". openSUSE Security Guide. Novell, Inc. and contributors. Archived from the original on 27 August 2012. Retrieved 15 November 2012.