
Lokaler Privilege-Escalation-Exploit, der auf die TOCTOU-Race-Condition von PackageKit abzielt (CVE-2026-41651). Eskaliert von einem unprivilegierten Benutzer zu Root über polkit-Bypass und Zustandsmanipulation auf Linux-Systemen.
Lokale Privilegienausweitung Exploit, der auf den PackageKit-Daemon abzielt.
Steigert von einem unprivilegierten lokalen Benutzer zurootdurch eine TOCTOU-Race-Condition-Schwachstelle.
CVE-2026-41651 (auch bekannt als Pack2TheRoot) ist eine kritische TOCTOU (Time-Of-Check to Time-Of-Use) Race-Condition-Schwachstelle in PackageKit, einem Systemdienst, der von vielen Linux-Distributionen zur Abstraktion der Paketverwaltung verwendet wird.
Die Schwachstelle ermöglicht es einem lokalen unprivilegierten Benutzer, unter bestimmten Bedingungen PackageKit-Transaktionszustände zu manipulieren und Autorisierungsprüfungen zu umgehen.
Ein Angreifer mit lokalem Zugriff kann möglicherweise:
root ausführenpolkit umgehen| Component | Vulnerable Versions | Fixed Version |
|---|---|---|
| PackageKit | 1.0.2 – 1.3.4 | 1.3.5 |
Das Problem hat seinen Ursprung in mehreren Logikfehlern in src/pk-transaction.c.
Attacker (unprivileged) packagekitd (root)
│ │
├── 1. InstallFiles(SIMULATE) ───────► │ polkit bypassed → state = READY
│ │ queued async dispatch
│
├── 2. InstallFiles(payload) ─────────► │ cached flags overwritten
│ │ invalid state transition ignored
│
│ [dispatch occurs] │
│ │ payload processed as root
│ │ maintainer scripts executed
│
└────────────────────────────────────► │ privilege escalation achieved
Erforderliche Entwicklungsbibliotheken installieren:
sudo apt update
sudo apt install libglib2.0-dev
git clone https://github.com/Lutfifakee-Project/CVE-2026-41651.git
cd CVE-2026-41651
gcc -o exploit CVE-2026-41651.c \
`pkg-config --cflags --libs glib-2.0 gio-2.0` \
-Wall
Als unprivilegierter Benutzer ausführen.
./exploit
______ ______ ___ ___ ___ ____ ___________ _______
/ ___/ | / / __/___|_ |/ _ \|_ |/ __/____/ / < / __// __< /
/ /__ | |/ / _//___/ __// // / __// _ \/___/_ _/ / _ \/__ \/ /
\___/ |___/___/ /____/\___/____/\___/ /_//_/\___/____/_/
CVE-2026-41651 - PackageKit TOCTOU Local Privilege Escalation
═══════════════════════════════════════════════════════════════════
[*] Building packages...
[*] Starting race condition...
[*] Waiting for dispatch...
[*] Polling for payload...
[+] SUCCESS — privilege escalation completed
pkcon --version
Oder:
dpkg -l | grep packagekit
1.0.2 – 1.3.41.3.5 oder spätersudo apt update
sudo apt upgrade packagekit
Offizielle Releases:
Dieses Repository wird ausschließlich bereitgestellt für:
Der Autor ist nicht verantwortlich für jeglichen Missbrauch, illegale Aktivitäten oder Schäden, die durch dieses Projekt verursacht werden.
Verwenden Sie diese Software nicht gegen Systeme, die Ihnen nicht gehören oder für die Sie keine ausdrückliche Erlaubnis zum Testen haben.
| Bug | Location | Description |
|---|
| BUG 1 | Zeile 4036 | InstallFiles() überschreibt zwischengespeicherte Transaktionsflags und -pfade ohne ordnungsgemäße Statusvalidierung |
| BUG 2 | Zeilen 876–881 | pk_transaction_set_state() lehrt rückwärtige Statusübergänge stillschweigend ab |
| BUG 3 | Zeilen 2273–2277 | pk_transaction_run() liest zwischengespeicherte Flags während des Dispatchs anstelle der Autorisierung |
| BYPASS | Zeilen 2893–2900 | Das SIMULATE-Flag (0x4) überspringt polkit-Autorisierungsprüfungen |