/CVE-2021-4034

Local Privilege Escalation (LPE) vulnerability found on Polkit's pkexec utility

Primary LanguagePython

CVE-2021-4034

My Python implementation of CVE-2021-4034!

Description

A local privilege escalation vulnerability was found on polkit's pkexec utility. The pkexec application is a setuid tool designed to allow unprivileged users to run commands as privileged users according predefined policies. The current version of pkexec doesn't handle the calling parameters count correctly and ends trying to execute environment variables as commands. An attacker can leverage this by crafting environment variables in such a way it'll induce pkexec to execute arbitrary code. When successfully executed the attack can cause a local privilege escalation given unprivileged users administrative rights on the target machine.

Usage

$ python3 CVE-2021-4034.py

How to Build Exploit

This creates a Pyinstaller executable using the Python source code. After being built, it can be ran on almost any Linux environment.

Requires Pyinstaller be installed (pip3 install pyinstaller)

May also require extra imports or dependencies when building. This can easily be done by using Pyinstaller's provided --hidden-import option

$ pyinstaller CVE-2021-4034.py --clean --onefile -n exploit

Run

$ ./exploit