
Exploit di escalation dei privilegi locali che sfrutta la condizione di race TOCTOU in PackageKit (CVE-2026-41651). Esegue l'escalation da utente non privilegiato a root tramite bypass di polkit e manipolazione dello stato su sistemi Linux.
Exploit di escalation dei privilegi locale che prende di mira il demone PackageKit.
Permette di passare da un utente locale non privilegiato arootsfruttando una vulnerabilità di razza TOCTOU.
CVE-2026-41651 (anche noto come Pack2TheRoot) è una critica vulnerabilità di razza TOCTOU (Time-Of-Check to Time-Of-Use) in PackageKit, un servizio di sistema utilizzato da molte distribuzioni Linux per l'astrazione della gestione dei pacchetti.
La vulnerabilità consente a un utente locale non privilegiato di manipolare gli stati delle transazioni di PackageKit e di bypassare i controlli di autorizzazione in determinate condizioni.
Un attaccante con accesso locale potrebbe essere in grado di:
rootpolkit| Componente | Versioni Vulnerabili | Versione Corretta |
|---|---|---|
| PackageKit | 1.0.2 – 1.3.4 | 1.3.5 |
Il problema ha origine da molteplici errori logici all'interno di src/pk-transaction.c.
Attaccante (non privilegiato) packagekitd (root)
│ │
├── 1. InstallFiles(SIMULATE) ───────► │ polkit bypassato → stato = READY
│ │ dispatch asincrono in coda
│
├── 2. InstallFiles(payload) ─────────► │ flag in cache sovrascritti
│ │ transizione di stato non valida ignorata
│
│ [dispatch avviene] │
│ │ payload elaborato come root
│ │ script di manutenzione eseguiti
│
└────────────────────────────────────► │ escalation dei privilegi ottenuta
Installa le librerie di sviluppo necessarie:
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
Esegui come utente non privilegiato.
./exploit
______ ______ ___ ___ ___ ____ ___________ _______
/ ___/ | / / __/___|_ |/ _ \|_ |/ __/____/ / < / __// __< /
/ /__ | |/ / _//___/ __// // / __// _ \/___/_ _/ / _ \/__ \/ /
\___/ |___/___/ /____/\___/____/\___/ /_//_/\___/____/_/
CVE-2026-41651 - PackageKit TOCTOU Privilege Escalation Locale
═══════════════════════════════════════════════════════════════════════
[*] Costruzione pacchetti...
[*] Avvio condizione di razza...
[*] Attesa dispatch...
[*] Polling per il payload...
[+] SUCCESSO — escalation dei privilegi completata
pkcon --version
Oppure:
dpkg -l | grep packagekit
1.0.2 – 1.3.41.3.5 o successivasudo apt update
sudo apt upgrade packagekit
Rilasci ufficiali:
Questo repository è fornito esclusivamente per:
L'autore non è responsabile per qualsiasi uso improprio, attività illegale o danno causato da questo progetto.
Non utilizzare questo software contro sistemi di cui non sei proprietario o per i quali non hai esplicita autorizzazione di test.
| Bug | Posizione | Descrizione |
|---|
| BUG 1 | Riga 4036 | InstallFiles() sovrascrive i flag e i percorsi della transazione in cache senza una corretta validazione dello stato |
| BUG 2 | Righe 876–881 | pk_transaction_set_state() rifiuta silenziosamente transizioni di stato all'indietro |
| BUG 3 | Righe 2273–2277 | pk_transaction_run() legge i flag in cache durante il dispatch piuttosto che durante l'autorizzazione |
| BYPASS | Righe 2893–2900 | Il flag SIMULATE (0x4) salta i controlli di autorizzazione polkit |