Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
CVE-2026-7867-disk2root — 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. | Kitploit
Strumenti/GitHubGitHub/azqzazq1/cve-2026-7867-disk2root
Escalation di PrivilegiAnalisi delle VulnerabilitàExploitPost-ExploitPenetration TestingApprendimento e FormazioneRed TeamingBinary ExploitationLab e Pratica

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi
GitHubazqzazq1/cve-2026-7867-disk2root

CVE-2026-7867-disk2root

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.

Vedi Repository
123 mesi faNon ancora revisionato





Filesystem.Mount → as-user Spoofing → Authorization Bypass → Root-context Mount → LPE


Panoramica

CVE-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ştanazqzazq1
Özlem Ozanoz7oz7

Il problema è stato assegnato:

root@kitploit:~
CVE-2026-7867

Sintesi Esecutiva

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 è:

udisks2 non riesce a distinguere in modo coerente l'identità del chiamante originale dall'identità as-user calcolata durante l'autorizzazione e l'esecuzione del mount fstab.


Vulnerabilità a Colpo d'Occhio


Area Interessata

La logica vulnerabile è associata al percorso di gestione del mount fstab all'interno di udisks2, specialmente quando la richiesta di mount coinvolge:

root@kitploit:~
Filesystem.Mount
as-user
x-udisks-auth
user
users

Le aree sensibili alla sicurezza rilevanti sono:

root@kitploit:~
Identità del chiamante D-Bus
        ↓
Gestione opzione as-user
        ↓
Logica di autorizzazione fstab
        ↓
Flusso decisionale PolicyKit
        ↓
Esecuzione mount in contesto root

Flusso dell'Attacco

root@kitploit:~
┌─────────────────────────────┐
│ 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                 │
└─────────────────────────────┘

Causa Principale

Il comportamento vulnerabile deriva da un bug di confusione di identità.

Il sistema ha molteplici concetti di identità:

root@kitploit:~
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-user
  • Opzioni fstab come x-udisks-auth, user o users possono influenzare il percorso di autorizzazione
  • Il blocco di autorizzazione può essere saltato
  • Il controllo mount_other_user non è applicato in modo affidabile al di fuori di quel blocco
  • Il percorso di mount può raggiungere un ramo destinato all'esecuzione genuina root/admin
  • Il mount viene eseguito dal contesto del demone privilegiato

Il risultato è un bypass del confine dei privilegi locali.


Il Problema di x-udisks-auth

L'opzione x-udisks-auth dovrebbe forzare un flusso di autorizzazione PolicyKit amministrativo.

Comportamento atteso:

root@kitploit:~
richiesta mount
    ↓
tentativo mount come chiamante
    ↓
permesso/auth fallito
    ↓
Controllo PolicyKit filesystem-fstab
    ↓
approvazione admin
    ↓
mount come azione privilegiata autorizzata

Comportamento vulnerabile:

root@kitploit:~
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.


Violazione del Modello di Sicurezza

Modello atteso:

root@kitploit:~
Utente non privilegiato
    ↓
Richiesta mount D-Bus
    ↓
Autorizzazione PolicyKit / fstab
    ↓
comportamento di mount limitato

Modello violato:

root@kitploit:~
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.


Impatto

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:

  • escalation dei privilegi locali
  • mount non autorizzato di filesystem in contesto root
  • bypass dell'autorizzazione PolicyKit prevista
  • mount insicuro di dispositivi gestiti da fstab
  • escalation basata su setuid in configurazioni di laboratorio interessate
  • esecuzione imprevista di file da filesystem controllati dall'attaccante o preparati

Condizioni di Sfruttamento

Questa è una vulnerabilità locale.

Le condizioni rilevanti includono:


Struttura del Repository

root@kitploit:~
.
├── README.md
├── disk2root.sh              ← exploit principale (LPE autonomo)
└── poc/
    ├── setup_lpe_env.sh       ← configurazione ambiente di laboratorio
    ├── f2_mount_as_user_bypass.sh
    ├── f2_check_nosuid.sh
    ├── f2_suid_test.sh
    ├── f2_final.sh
    └── cleanup_lpe_env.sh

Exploit — disk2root.sh

Exploit autonomo armato. Costruisce il proprio payload SUID root, crea un'immagine disco preparata, la monta tramite il bypass polkit as-user=root e apre una shell root.

Avvio Rapido

Opzione 1 — Eseguire come root (funziona ovunque, incluso SSH):

root@kitploit:~
./disk2root.sh

Lo script automaticamente:

  1. Compila un binario statico di shell root SUID
  2. Crea un'immagine ext4 da 32MB su un dispositivo loop
  3. Inietta il binario con uid=0 mode=4755 tramite debugfs
  4. Aggiunge una voce fstab con x-udisks-auth
  5. Passa a un utente non privilegiato tramite su
  6. Chiama Filesystem.Mount con as-user=root (bypass polkit)
  7. Esegue il binario SUID → shell root
  8. Pulisce tutto all'uscita

Per specificare da quale utente escalare:

root@kitploit:~
./disk2root.sh testuser

Se non viene specificato alcun utente, lo script sceglie il primo utente regolare sul sistema o ne crea uno temporaneo.


Opzione 2 — Eseguire come utente non privilegiato (desktop / sessione attiva):

root@kitploit:~
./disk2root.sh

Su sistemi con una sessione polkit attiva (login desktop, GNOME/KDE), lo script è completamente autonomo — crea il proprio dispositivo loop tramite udisksctl o D-Bus LoopSetup, monta tramite as-user=root e scala senza alcuna configurazione preliminare.


Opzione 3 — Eseguire come utente non privilegiato (SSH, dopo la configurazione):

Se l'ambiente è già stato preparato (ad esempio eseguendo poc/setup_lpe_env.sh come root, o da una precedente esecuzione di ./disk2root.sh come root), qualsiasi utente non privilegiato può rieseguire l'exploit:

root@kitploit:~
./disk2root.sh

Lo script rileva automaticamente le voci fstab vulnerabili e le utilizza.


Pulizia

root@kitploit:~
./disk2root.sh --cleanup

Rimuove tutti gli artefatti: voce fstab, dispositivo loop, punto di mount, utente temporaneo.


Strategia a Cascata

Quando eseguito come non privilegiato, lo script prova più percorsi in ordine:

root@kitploit:~
[A] Autonomo
    costruisci payload → crea immagine ext4 → debugfs inietta binario SUID
    → loop-setup (python3 GIO / udisksctl) → mount as-user=root
    ✓ funziona su sessioni desktop

[B] Fallback Fstab
    scansiona /etc/fstab per voci x-udisks-auth / user / users
    → mount as-user=root → trova binario SUID su fs montato
    ✓ funziona su SSH quando l'ambiente è preparato

Esempio di Output

root@kitploit:~
╔═════════════════════════════════════════════════════╗
║  CVE-2026-7867 — disk2root                          ║
║  bypass polkit as-user di udisks2 → shell root LPE  ║
╚═════════════════════════════════════════════════════════╝

[*] uid=1002 (testuser) — exploiting...
    fstab: /dev/loop5 → /mnt/disk2root (x-udisks-auth)
    mounted: /mnt/disk2root
    nosuid: non impostato
    suid: pwn (4755 root:root)

╔═════════════════════════════════════════════════════╗
║  apertura shell root — digita 'exit' per tornare    ║
╚═════════════════════════════════════════════════════════╝

[+] root shell — uid=0 euid=0
root@target:/tmp#

Requisiti


Script PoC (poc/)

Script di convalida individuali utilizzati durante la ricerca. Questi sono gli elementi costitutivi che hanno portato a disk2root.sh.

Flusso di Laboratorio (usando script PoC individuali)

root@kitploit:~
1. Esegui poc/setup_lpe_env.sh come root
2. su - testuser
3. Esegui poc/f2_mount_as_user_bypass.sh
4. Esegui poc/f2_final.sh per convalida completa
5. Esegui poc/cleanup_lpe_env.sh come root

Oppure usa semplicemente disk2root.sh che combina tutto quanto sopra.


Primitiva Tecnica

La primitiva dimostrata da questa ricerca è:

root@kitploit:~
Spoofing dell'opzione as-user all'interno dell'orchestrazione del mount privilegiato

La transizione critica è:

root@kitploit:~
Chiamante D-Bus non privilegiato
        ↓
Identità di mount spoofata/calcolata
        ↓
Confusione nel percorso di autorizzazione
        ↓
Esecuzione mount in contesto root

Questo è il motivo per cui il problema costituisce una vulnerabilità di escalation dei privilegi locali.


Perché Questo Bug è Importante

udisks2 è comunemente considerato un demone di gestione dello storage privilegiato.

Un bug a questo livello è ad alto impatto perché si trova tra:

root@kitploit:~
Utenti desktop/sessione
Chiamate a metodi D-Bus
Autorizzazione PolicyKit
Operazioni di mount di filesystem
Privilegi del demone root

Un difetto nella gestione dell'identità qui può influenzare direttamente i confini dei privilegi locali.


Idee per il Rilevamento

I difensori possono monitorare attività sospette di mount di udisks2 che coinvolgono as-user.

Fonti di telemetria utili:

root@kitploit:~
Log di udisksd
Chiamate a metodi D-Bus
Log di PolicyKit
Modifiche alla tabella dei mount
/proc/mounts
/etc/fstab
journalctl

Comandi utili:

root@kitploit:~
findmnt
mount
cat /proc/mounts
journalctl -u udisks2
journalctl | grep -i udisks
journalctl | grep -i polkit

Pattern sospetti:

root@kitploit:~
Utente non root che attiva Filesystem.Mount
Uso di as-user=root
Mount inaspettato senza prompt PolicyKit
Mount privi di nosuid/noexec/nodev
Esecuzione setuid da filesystem montati di recente
Mount inaspettati di dispositivi loop

Mitigazione

Aggiornare udisks2

Applicare la correzione fornita dal vendor una volta disponibile.

Versione prevista per il fix:

root@kitploit:~
udisks 2.11.2

Rivedere le Voci fstab

Controllare le voci che utilizzano:

root@kitploit:~
x-udisks-auth
user
users

In particolare, rivedere i filesystem che possono contenere contenuti eseguibili o setuid.


Limitare l'Accesso Locale alla Shell

Poiché si tratta di una vulnerabilità locale, ridurre l'accesso locale non fidato diminuisce l'esposizione.


Monitorare l'Attività di Mount

Monitorare operazioni di mount inaspettate attraverso:

root@kitploit:~
udisksd

specialmente quando attivate da utenti non root.


Applicare Flag di Mount Più Sicuri

Dove applicabile, utilizzare:

root@kitploit:~
nosuid
noexec
nodev

Questi flag possono ridurre l'impatto post-mount.


Rafforzare le Regole PolicyKit

Rivedere le regole PolicyKit relative alle azioni di mount di udisks.

Assicurarsi che gli utenti non privilegiati non possano attivare percorsi di mount sensibili senza autorizzazione esplicita.


Direzione della Correzione

Una correzione robusta dovrebbe garantire che:

  • l'UID del chiamante D-Bus originale sia preservato
  • l'UID as-user calcolato non sostituisca l'identità del chiamante per l'autorizzazione
  • mount_other_user attivi sempre i controlli PolicyKit appropriati
  • l'esecuzione del mount in contesto root sia limitata ai flussi genuini root/admin autorizzati
  • x-udisks-auth applichi coerentemente l'autenticazione
  • percorsi di codice correlati come la gestione dei filesystem crittografati vengano controllati

Timeline di Divulgazione


Crediti


Piano di Rilascio Pubblico

Dopo il sollevamento dell'embargo, questo repository può essere convertito in un repository di ricerca pubblica con:

root@kitploit:~
docs/
├── technical-analysis.md
├── root-cause.md
├── lab-setup.md
├── exploit-flow.md
├── detection.md
└── mitigation.md

Aggiunte pubbliche raccomandate:

  • link CVE ufficiale
  • link all'avviso Red Hat
  • link alla patch upstream
  • matrice versioni affette/fissate
  • guida alla riproduzione sicura
  • note sull'uso controllato del PoC
  • guida al rilevamento e all'indurimento

Disclaimer

Questo repository è destinato esclusivamente a ricerca di sicurezza autorizzata, coordinamento con il vendor e convalida difensiva.

Gli script PoC sono destinati ad ambienti di test isolati.

Non eseguire questi script su sistemi di cui non si è proprietari o per i quali non si ha esplicito permesso di test.

Gli autori non sono responsabili per l'uso improprio di questa ricerca.



CVE-2026-7867
Ricerca sull'Escalation dei Privilegi Locali in udisks2



Scarica lo strumento
CampoValore
CVECVE-2026-7867
Prodottoudisks2
ComponenteFilesystem.Mount
Tipo di AttaccoEscalation dei Privilegi Locali
PrimitivaSpoofing di as-user
Confine di SicurezzaIdentità del chiamante D-Bus → esecuzione mount privilegiato
Livello di AutorizzazionePolicyKit / autorizzazione mount fstab
VendorRed Hat / upstream udisks
StatoPatch in corso / divulgazione coordinata
Rilascio Fix Previstoudisks 2.11.2
CondizioneRichiesta
Accesso utente localeSì
Versione udisks2 vulnerabileSì
Funzionalità as-user presenteSì
Destinazione di mount gestita da fstab adattaSì
Percorso di autorizzazione vulnerabileSì
Accesso remotoNo
StrumentoScopoRichiesto
busctlChiamata mount D-BusSì
gccCompila payload SUIDSì (fallback a copia bash)
mke2fsCrea immagine ext4Sì (modalità autonoma)
debugfsInietta binario con uid=0Sì (modalità autonoma)
python3-giD-Bus LoopSetup con passaggio fdOpzionale (modalità desktop)
udisksctlConfigurazione dispositivo loopOpzionale (modalità desktop)
ScriptScopo
setup_lpe_env.shPrepara ambiente di laboratorio (loop device, fstab, utente test)
f2_mount_as_user_bypass.shConvalida bypass di Filesystem.Mount con as-user=root
f2_check_nosuid.shVerifica flag nosuid/noexec/nodev sul mount bypassato
f2_suid_test.shTesta esecuzione binario SUID su filesystem montato
f2_final.shPoC end-to-end: setup → bypass → verifica euid=0
cleanup_lpe_env.shRipristina ambiente di test
DataEvento
2026-04-21Rapporto inviato a Red Hat Product Security
2026-04-21Red Hat ha confermato la ricezione
2026-04-28Il vendor ha confermato la logica imperfetta
2026-04-28Il vendor ha richiesto gli script PoC
2026-04-30Il vendor ha richiesto l'assegnazione CVE
2026-04-30Script PoC inviati al vendor
2026-05-03Prima patch del vendor condivisa
2026-05-05Patch aggiornata del vendor condivisa
2026-05-05CVE-2026-7867 riservato
2026-05-05Ticket segnato come risolto
2026-05-07Il vendor ha indicato il fix previsto per udisks 2.11.2
RicercatoreGitHubRuolo
Azizcan Daştanazqzazq1Scoperta, analisi, sviluppo PoC, coordinamento con il vendor
Özlem Ozanoz7oz7Collaborazione alla ricerca e credito di divulgazione