CVE-2026-41651
PackageKit vulnerabile a una race condition TOCTOU sui flag di transazione che porta all'installazione arbitraria di pacchetti come root
- Pubblicato
- 22 apr 2026
- Aggiornato
- 15 lug 2026
- Assegnazione CNA
- GitHub_M
- Evidenza osservata
- 25 ago 2026
CVSS primario
nvd · CVSS 3.1
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:HBasso · prossimi 30 giorni
- Percentile
- 39,0%
- Data del modello
- 21 set 2026
L'EPSS è una stima statistica, non una certezza o una misura di impatto. Combinalo con CVSS, stato KEV, esposizione e ambiente.
Riepilogo
PackageKit è un livello di astrazione D-Bus che consente all'utente di gestire i pacchetti in modo sicuro tramite un'API cross-distro e cross-architettura. PackageKit, nelle versioni dalla 1.0.2 alla 1.3.4 incluse, è vulnerabile a una condizione di gara time-of-check time-of-use (TOCTOU) sui flag di transazione che consente a utenti non privilegiati di installare pacchetti come root, portando così a un'escalation dei privilegi locale. Il problema è corretto nella versione 1.3.5. Un utente locale non privilegiato può installare pacchetti RPM arbitrari come root, inclusa l'esecuzione di scriptlet RPM, senza autenticazione. La vulnerabilità è una condizione di gara TOCTOU su `transaction->cached_transaction_flags` combinata con un guardiano silenzioso della macchina a stati che scarta le transizioni di stato illegali all'indietro lasciando però i flag corrotti al loro posto. Esistono tre bug in `src/pk-transaction.c`: 1. Sovrascrittura incondizionata dei flag (riga 4036): `InstallFiles()` scrive i flag forniti dal chiamante in `transaction->cached_transaction_flags` senza verificare se la transazione sia già stata autorizzata/avviata. Una seconda chiamata sovrascrive ciecamente i flag anche mentre la transazione è in esecuzione (RUNNING). 2. Rifiuto silenzioso delle transizioni di stato (righe 873–882): `pk_transaction_set_state()` scarta silenziosamente le transizioni di stato all'indietro (ad es. `RUNNING` → `WAITING_FOR_AUTH`), ma la sovrascrittura dei flag al punto 1 è già avvenuta. La transazione continua a essere eseguita con flag corrotti. 3. Lettura tardiva dei flag al momento dell'esecuzione (righe 2273–2277): la callback di idle dello scheduler legge cached_transaction_flags al momento dell'invio, non al momento dell'autorizzazione. Se i flag vengono sovrascritti tra l'autorizzazione e l'esecuzione, il backend vede i flag dell'attaccante.
Fonti
12- CVE-2026-41651Informativo
Utilizzo responsabile
Utilizza le informazioni sulla vulnerabilità solo sui sistemi che possiedi o che sei autorizzato a testare. Kitploit si collega ai metadati della ricerca pubblica e non memorizza codici exploit o payload dannosi.