Goal Reached Thanks to every supporter — we hit 100%!

Goal: 1000 CNY · Raised: 1336 CNY

100%

CVE-2021-4034 PoC — polkit 缓冲区错误漏洞

Source
Associated Vulnerability
Title: polkit 缓冲区错误漏洞 (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.
Description
PoC de Polkit
Readme
# CVE-2021-4034
PoC de Polkit
## ¿En qué consiste Polkit?
Policy Toolkit (o Polkit) desde que se lanzó en 2009 permite a cualquier atacante sin permisos de root obtener de fácilmente acceso administrativo sobre cualquier sistema de Linux con el paquete de Polkit. Desafortunademente, (o no) está instalado de forma predeterminada en la mayoría de las distribuciones Linux. Con lo cual, ha hecho que esta vulnerabilidad sea extendida.

Afortunadamente, (o no) esta vulnerabilidad no se puede explotar de forma remota lo que hace que sea una vulnerabilidad de escalada de privilegios locales (LPE).

## ¿Pero qué es Polkit?
Polkit forma parte en la mayoría de los sistemas de autorización de Linux. Cuando se realiza cualquier acción que requiere un permiso administrativo. Polkit determina si tiene los permisos necesarios para poder ejecutar la acción. Está integrado en systemd (reemplazo de init). De hecho, a Systemd se le conoce como "sudo de systemd", según THM.
Cuando interactuamos con polkit podemos usar pkexec (programa que contiene la vulnreablidad Pwnkit). Como ejemplo, cuando intentamos ejecutar ```useradd``` con pkexec en una sesion GUI nos sale una ventana en la que nos pide los credenciales. En CLI podemos obtener algo similar a esto:
``` bash         
user@user:~$ pkexec useradd test1
==== AUTHENTICATING FOR org.freedesktop.policykit.exec ===
Authentication is needed to run '/usr/sbin/useradd' as the super user
Authenticating as: user,,, (user)
Password:
```
## Remedación
Obviamente, Canonical ya ha lanzado versiones parcheadas de este paquete en el administrador de paquetes APT. Si en alguna distribución no se han publicado versiones parcheadas, simplemente se elimina el bit de SUID de pkexec.
```bash
sudo chmod 0777 'which pkexec'
```
File Snapshot

Log in to view the POC file snapshot cached by Shenlong Bot

Log in to view
Remarks
    1. It is advised to access via the original source first.
    2. Local POC snapshots are reserved for subscribers — if the original source is unavailable, the local mirror is part of the paid plan.
    3. Mirroring, verifying, and maintaining this POC archive takes ongoing effort, so local snapshots are a paid feature. Your subscription keeps the archive online — thank you for the support. View subscription plans →