
Exploit di escalation di privilegi locale armato per CVE-2026-7867 in udisks2, che utilizza lo spoofing di mount as-user per bypassare PolicyKit e ottenere una shell root.
as-user Spoofing → Authorization Bypass → Root-context Mount → LPECVE-2026-7867 è una vulnerabilità di escalation dei privilegi locali in udisks2 che coinvolge il metodo D-Bus Filesystem.Mount, l'opzione as-user, i flussi di mount gestiti da fstab e una gestione delle autorizzazioni imperfetta.
Questo repository privato contiene le note tecniche di ricerca e gli script PoC utilizzati per convalidare il problema in un ambiente di laboratorio controllato.
La vulnerabilità è stata scoperta e segnalata da:
| Azizcan Daştan | azqzazq1 |
| Özlem Ozan | oz7oz7 |
Il problema è stato assegnato:
CVE-2026-7867
La vulnerabilità è causata da una relazione di fiducia imperfetta tra il UID reale del chiamante D-Bus e l'**UID calcolato/effettivo prodotto dall'opzione di mount as-user.
Nei flussi vulnerabili, un utente locale non privilegiato può influenzare il percorso di esecuzione del mount in modo che un mount del filesystem venga eseguito in un contesto privilegiato/root senza il comportamento di autorizzazione PolicyKit previsto.
Il bug principale non è semplicemente "opzioni di mount controllate dall'utente".
Il vero problema è:
udisks2non riesce a distinguere in modo coerente l'identità del chiamante originale dall'identitàas-usercalcolata durante l'autorizzazione e l'esecuzione del mount fstab.
| Campo | Valore |
|---|---|
| CVE | CVE-2026-7867 |
| Prodotto | udisks2 |
| Componente | Filesystem.Mount |
| Tipo di Attacco | Escalation dei Privilegi Locali |
| Primitiva | Spoofing di as-user |
| Confine di Sicurezza | Identità del chiamante D-Bus → esecuzione mount privilegiato |
| Livello di Autorizzazione | PolicyKit / autorizzazione mount fstab |
| Vendor | Red Hat / upstream udisks |
| Stato | Patch in corso / divulgazione coordinata |
| Rilascio Fix Previsto | udisks 2.11.2 |
La logica vulnerabile è associata al percorso di gestione del mount fstab all'interno di udisks2, specialmente quando la richiesta di mount coinvolge:
Filesystem.Mount
as-user
x-udisks-auth
user
users
Le aree sensibili alla sicurezza rilevanti sono:
Identità del chiamante D-Bus
↓
Gestione opzione as-user
↓
Logica di autorizzazione fstab
↓
Flusso decisionale PolicyKit
↓
Esecuzione mount in contesto root
┌─────────────────────────────┐
│ Utente Locale Non Privilegiato│
└──────────────┬──────────────┘
│
│ Filesystem.Mount
│ con influenza as-user
▼
┌─────────────────────────────┐
│ udisks2 / udisksd │
│ demone di sistema privilegiato│
└──────────────┬──────────────┘
│
│ La logica fstab valuta
│ opzioni utente/auth
▼
┌─────────────────────────────┐
│ Gap di Autorizzazione │
│ mount_other_user non │
│ applicato nel percorso │
│ saltato │
└──────────────┬──────────────┘
│
│ Ramo in contesto root raggiunto
▼
┌─────────────────────────────┐
│ Filesystem Montato │
│ senza il flusso di auth │
│ previsto │
└──────────────┬──────────────┘
│
│ l'impatto dipende dai flag di mount
▼
┌─────────────────────────────┐
│ Escalation Privilegi Locali │
│ convalida in laboratorio │
│ controllato │
└─────────────────────────────┘
Il comportamento vulnerabile deriva da un bug di confusione di identità.
Il sistema ha molteplici concetti di identità:
UID reale del chiamante D-Bus
UID calcolato as-user
UID effettivo del mount
Contesto di privilegio del demone udisksd
Il flusso vulnerabile non applica queste identità in modo coerente.
In particolare:
mount_other_user può diventare true perché viene usato as-userx-udisks-auth, user o users possono influenzare il percorso di autorizzazionemount_other_user non è applicato in modo affidabile al di fuori di quel bloccoIl risultato è un bypass del confine dei privilegi locali.
x-udisks-authL'opzione x-udisks-auth dovrebbe forzare un flusso di autorizzazione PolicyKit amministrativo.
Comportamento atteso:
richiesta mount
↓
tentativo mount come chiamante
↓
permesso/auth fallito
↓
Controllo PolicyKit filesystem-fstab
↓
approvazione admin
↓
mount come azione privilegiata autorizzata
Comportamento vulnerabile:
richiesta mount con influenza as-user
↓
identità calcolata influisce sull'esecuzione
↓
mount ha successo troppo presto
↓
Percorso auth PolicyKit non raggiunto come previsto
↓
stato mount privilegiato ottenuto
Ciò rende il modello di sicurezza attorno a x-udisks-auth inaffidabile nel percorso vulnerabile.
Modello atteso:
Utente non privilegiato
↓
Richiesta mount D-Bus
↓
Autorizzazione PolicyKit / fstab
↓
comportamento di mount limitato
Modello violato:
Utente non privilegiato
↓
Richiesta mount D-Bus con spoofing as-user
↓
disallineamento logica autorizzazione
↓
esecuzione mount in contesto root
Il bug è particolarmente grave perché il servizio interessato opera con privilegi elevati.
Uno sfruttamento riuscito può consentire a un utente locale non privilegiato di montare un filesystem tramite udisks2 in un percorso di esecuzione in contesto root senza il prompt di autorizzazione previsto.
A seconda del filesystem e dei flag di mount, l'impatto può includere: