Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
CVE-2026-7867-disk2root — Exploit d'élévation de privilèges locale armé pour CVE-2026-7867 dans udisks2, utilisant une usurpation de montage en tant qu'utilisateur pour contourner PolicyKit et obtenir un shell root. | Kitploit
Outils/GitHubGitHub/azqzazq1/cve-2026-7867-disk2root
Escalade de PrivilègesAnalyse des VulnérabilitésExploitationPost-ExploitationTests d'IntrusionApprentissage et ÉducationRed TeamingExploitation de BinairesLabs et Pratique

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager
GitHubazqzazq1/cve-2026-7867-disk2root

CVE-2026-7867-disk2root

Exploit d'élévation de privilèges locale armé pour CVE-2026-7867 dans udisks2, utilisant une usurpation de montage en tant qu'utilisateur pour contourner PolicyKit et obtenir un shell root.

Voir le dépôt
12il y a 3 moisPas encore vérifié





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


Aperçu

CVE-2026-7867 est une vulnérabilité d'élévation de privilèges locale dans udisks2 impliquant la méthode D-Bus Filesystem.Mount, l'option as-user, les flux de montage gérés par fstab, et une gestion d'autorisation défaillante.

Ce dépôt privé contient les notes de recherche techniques et les scripts PoC utilisés pour valider le problème dans un environnement de laboratoire contrôlé.

La vulnérabilité a été découverte et signalée par :

Azizcan Daştanazqzazq1
Özlem Ozanoz7oz7

Le problème a été attribué :

root@kitploit:~
CVE-2026-7867

Résumé exécutif

La vulnérabilité est causée par une relation de confiance défaillante entre l'UID réel de l'appelant D-Bus et l'UID calculé/effectif produit par l'option de montage as-user.

Dans les flux vulnérables, un utilisateur local non privilégié peut influencer le chemin d'exécution du montage de sorte qu'un montage de système de fichiers est effectué dans un contexte privilégié/root sans le comportement d'autorisation PolicyKit attendu.

Le bogue principal n'est pas simplement des « options de montage contrôlées par l'utilisateur ».

Le véritable problème est :

udisks2 ne parvient pas à distinguer de manière cohérente l'identité de l'appelant original de l'identité as-user calculée lors de l'autorisation et de l'exécution du montage fstab.


Aperçu de la vulnérabilité


Zone affectée

La logique vulnérable est associée au chemin de gestion du montage fstab dans udisks2, en particulier lorsque la demande de montage implique :

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

Les zones sensibles à la sécurité pertinentes sont :

root@kitploit:~
D-Bus caller identity
        ↓
as-user option handling
        ↓
fstab authorization logic
        ↓
PolicyKit decision flow
        ↓
root-context mount execution

Flux d'attaque

root@kitploit:~
┌─────────────────────────────┐
│ Utilisateur local non       │
│ privilégié                  │
└──────────────┬──────────────┘
               │
               │ Filesystem.Mount
               │ avec influence as-user
               ▼
┌─────────────────────────────┐
│ udisks2 / udisksd           │
│ démon système privilégié    │
└──────────────┬──────────────┘
               │
               │ La logique fstab évalue
               │ les options utilisateur/auth
               ▼
┌─────────────────────────────┐
│ Faille d'autorisation       │
│ mount_other_user non        │
│ appliquée dans le chemin    │
│ ignoré                      │
└──────────────┬──────────────┘
               │
               │ Branche de contexte root
               │ atteinte
               ▼
┌─────────────────────────────┐
│ Système de fichiers monté   │
│ sans le flux d'autorisation │
│ attendu                     │
└──────────────┬──────────────┘
               │
               │ l'impact dépend des
               │ indicateurs de montage
               ▼
┌─────────────────────────────┐
│ Élévation de privilèges     │
│ locale — validation en      │
│ laboratoire contrôlé        │
└─────────────────────────────┘

Cause racine

Le comportement vulnérable provient d'un bogue de confusion d'identité.

Le système a plusieurs concepts d'identité :

root@kitploit:~
UID réel de l'appelant D-Bus
UID as-user calculé
UID effectif du montage
contexte de privilège du démon udisksd

Le flux vulnérable ne parvient pas à appliquer ces identités de manière cohérente.

En particulier :

  • mount_other_user peut devenir vrai car as-user est utilisé
  • les options fstab telles que x-udisks-auth, user ou users peuvent affecter le chemin d'autorisation
  • le bloc d'autorisation peut être sauté
  • la vérification de mount_other_user n'est pas appliquée de manière fiable en dehors de ce bloc
  • le chemin de montage peut atteindre une branche destinée à une exécution légitime root/admin
  • le montage est effectué par le contexte privilégié du démon

Le résultat est un contournement de la frontière de privilège locale.


Le problème x-udisks-auth

L'option x-udisks-auth est censée forcer un flux d'autorisation PolicyKit administratif.

Comportement attendu :

root@kitploit:~
mount request
    ↓
tentative de montage en tant qu'appelant
    ↓
échec de permission/auth
    ↓
vérification PolicyKit filesystem-fstab
    ↓
approbation admin
    ↓
montage en tant qu'action privilégiée autorisée

Comportement vulnérable :

root@kitploit:~
demande de montage avec influence as-user
    ↓
l'identité calculée affecte l'exécution
    ↓
le montage réussit trop tôt
    ↓
le chemin d'authentification PolicyKit n'est pas atteint comme prévu
    ↓
l'état de montage privilégié est atteint

Cela rend le modèle de sécurité autour de x-udisks-auth peu fiable dans le chemin vulnérable.


Violation du modèle de sécurité

Modèle attendu :

root@kitploit:~
Utilisateur non privilégié
    ↓
Demande de montage D-Bus
    ↓
Autorisation PolicyKit / fstab
    ↓
comportement de montage restreint

Modèle cassé :

root@kitploit:~
Utilisateur non privilégié
    ↓
Demande de montage D-Bus avec usurpation as-user
    ↓
décalage de logique d'autorisation
    ↓
exécution de montage en contexte root

Le bogue est particulièrement grave car le service concerné s'exécute avec des privilèges élevés.


Impact

Une exploitation réussie peut permettre à un utilisateur local non privilégié de monter un système de fichiers via udisks2 dans un chemin d'exécution en contexte root sans l'invite d'autorisation attendue.

En fonction du système de fichiers et des indicateurs de montage, l'impact peut inclure :

  • élévation de privilèges locale
  • montage non autorisé de système de fichiers en contexte root
  • contournement de l'autorisation PolicyKit attendue
  • montage non sécurisé de périphérique géré par fstab
  • élévation basée sur setuid dans des configurations de laboratoire affectées
  • exécution inattendue de fichiers à partir de systèmes de fichiers contrôlés ou préparés par l'attaquant

Conditions d'exploitation

Il s'agit d'une vulnérabilité locale.

Les conditions pertinentes incluent :


Structure du dépôt

root@kitploit:~
.
├── README.md
├── disk2root.sh              ← main exploit (self-contained LPE)
└── poc/
    ├── setup_lpe_env.sh       ← lab environment setup
    ├── 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 autonome et armé. Construit son propre payload SUID root, crée une image disque préparée, la monte via le contournement polkit as-user=root, et ouvre un shell root.

Quick Start

Option 1 — Exécuter en tant que root (fonctionne partout, y compris SSH) :

root@kitploit:~
./disk2root.sh

Le script automatiquement :

  1. Compile un binaire shell SUID root statique
  2. Crée une image ext4 de 32 Mo sur un périphérique loop
  3. Injecte le binaire avec uid=0 mode=4755 via debugfs
  4. Ajoute une entrée fstab avec x-udisks-auth
  5. Passe à un utilisateur non privilégié via su
  6. Appelle Filesystem.Mount avec as-user=root (contournement polkit)
  7. Exécute le binaire SUID → shell root
  8. Nettoie tout à la sortie

Pour spécifier l'utilisateur à partir duquel escalader :

root@kitploit:~
./disk2root.sh testuser

Si aucun utilisateur n'est spécifié, le script choisit le premier utilisateur normal du système ou en crée un temporaire.


Option 2 — Exécuter en tant qu'utilisateur non privilégié (bureau / session active) :

root@kitploit:~
./disk2root.sh

Sur les systèmes avec une session polkit active (connexion bureau, GNOME/KDE), le script est totalement autonome — il crée son propre périphérique loop via udisksctl ou D-Bus LoopSetup, monte via as-user=root, et escalade sans aucune configuration préalable.


Option 3 — Exécuter en tant qu'utilisateur non privilégié (SSH, après configuration) :

Si l'environnement a déjà été préparé (par exemple en exécutant poc/setup_lpe_env.sh en tant que root, ou par une exécution précédente de ./disk2root.sh en tant que root), tout utilisateur non privilégié peut ré-exploiter :

root@kitploit:~
./disk2root.sh

Le script détecte automatiquement les entrées fstab vulnérables et les utilise.


Cleanup

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

Supprime tous les artefacts : entrée fstab, périphérique loop, point de montage, utilisateur temporaire.


Stratégie en cascade

Lorsqu'il est exécuté en tant que non privilégié, le script essaie plusieurs chemins dans l'ordre :

root@kitploit:~
[A] Autonome
    construire payload → créer image ext4 → injecter binaire SUID avec debugfs
    → configuration loop (python3 GIO / udisksctl) → monter as-user=root
    ✓ fonctionne sur les sessions bureau

[B] Repli fstab
    analyser /etc/fstab pour les entrées x-udisks-auth / user / users
    → monter as-user=root → trouver binaire SUID sur le FS monté
    ✓ fonctionne sur SSH lorsque l'environnement est préparé

Exemple de sortie

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

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

╔═════════════════════════════════════════════════════╗
║  dropping into root shell — type 'exit' to return   ║
╚═════════════════════════════════════════════════════════╝

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

Prérequis


Scripts PoC (poc/)

Scripts de validation individuels utilisés pendant la recherche. Ce sont les éléments de base qui ont conduit à disk2root.sh.

Flux de laboratoire (en utilisant les scripts PoC individuels)

root@kitploit:~
1. Run poc/setup_lpe_env.sh as root
2. su - testuser
3. Run poc/f2_mount_as_user_bypass.sh
4. Run poc/f2_final.sh for full validation
5. Run poc/cleanup_lpe_env.sh as root

Ou utilisez simplement disk2root.sh qui combine tout ce qui précède.


Primitive technique

La primitive démontrée par cette recherche est :

root@kitploit:~
Usurpation de l'option as-user dans l'orchestration de montage privilégié

La transition critique est :

root@kitploit:~
appelant D-Bus non privilégié
        ↓
identité de montage usurpée/calculée
        ↓
confusion du chemin d'autorisation
        ↓
exécution de montage en contexte root

C'est pourquoi le problème est qualifié de vulnérabilité d'élévation de privilèges locale.


Pourquoi ce bogue est important

udisks2 est généralement considéré comme un démon de gestion de stockage privilégié.

Un bogue dans cette couche a un impact élevé car il se situe entre :

root@kitploit:~
utilisateurs de bureau/session
appels de méthode D-Bus
autorisation PolicyKit
opérations de montage de système de fichiers
privilèges du démon root

Une faille dans la gestion des identités peut directement affecter les frontières de privilèges locales.


Idées de détection

Les défenseurs peuvent surveiller les activités suspectes de montage udisks2 impliquant as-user.

Sources de télémétrie utiles :

root@kitploit:~
journaux udisksd
appels de méthode D-Bus
journaux PolicyKit
changements de table de montage
/proc/mounts
/etc/fstab
journalctl

Commandes utiles :

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

Modèles suspects :

root@kitploit:~
utilisateur non root déclenchant Filesystem.Mount
utilisation de as-user=root
montage inattendu sans invite PolicyKit
montages sans nosuid/noexec/nodev
exécution setuid à partir de systèmes de fichiers récemment montés
montages inattendus de périphériques loop

Atténuation

Mettre à jour udisks2

Appliquer le correctif fourni par le vendeur dès qu'il sera disponible.

Version de correctif prévue :

root@kitploit:~
udisks 2.11.2

Vérifier les entrées fstab

Auditer les entrées utilisant :

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

Examiner particulièrement les systèmes de fichiers pouvant contenir du contenu exécutable ou setuid.


Restreindre l'accès shell local

Comme il s'agit d'une vulnérabilité locale, réduire l'accès local non fiable diminue l'exposition.


Surveiller l'activité de montage

Surveiller les opérations de montage inattendues via :

root@kitploit:~
udisksd

surtout lorsqu'elles sont déclenchées par des utilisateurs non root.


Appliquer des indicateurs de montage plus sûrs

Lorsque applicable, utilisez :

root@kitploit:~
nosuid
noexec
nodev

Ces indicateurs peuvent réduire l'impact post-montage.


Durcir les règles PolicyKit

Examiner les règles PolicyKit liées aux actions de montage udisks.

S'assurer que les utilisateurs non privilégiés ne peuvent pas déclencher des chemins de montage sensibles sans autorisation explicite.


Direction du correctif

Un correctif robuste devrait garantir que :

  • l'UID original de l'appelant D-Bus est préservé
  • l'UID as-user calculé ne remplace pas l'identité de l'appelant pour l'autorisation
  • mount_other_user déclenche toujours les vérifications PolicyKit appropriées
  • l'exécution de montage en contexte root est limitée aux flux root/admin légitimes et autorisés
  • x-udisks-auth applique systématiquement l'authentification
  • les chemins de code connexes tels que la gestion des systèmes de fichiers cryptés sont audités

Calendrier de divulgation


Crédits


Plan de publication publique

Après la levée de l'embargo, ce dépôt peut être converti en un dépôt de recherche public avec :

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

Ajouts publics recommandés :

  • lien CVE officiel
  • lien vers l'avis Red Hat
  • lien vers le correctif upstream
  • matrice des versions affectées/corrigées
  • guide de reproduction sécurisé
  • notes d'utilisation contrôlée du PoC
  • guide de détection et de durcissement

Avertissement

Ce dépôt est destiné uniquement à la recherche en sécurité autorisée, à la coordination avec les vendeurs et à la validation défensive.

Les scripts PoC sont destinés à des environnements de test isolés.

N'exécutez pas ces scripts sur des systèmes que vous ne possédez pas ou pour lesquels vous n'avez pas l'autorisation explicite de tester.

Les auteurs ne sont pas responsables d'une mauvaise utilisation de cette recherche.



CVE-2026-7867
udisks2 Local Privilege Escalation Research



Télécharger l’outil
ChampValeur
CVECVE-2026-7867
Produitudisks2
ComposantFilesystem.Mount
Type d'attaqueÉlévation de privilèges locale
PrimitiveUsurpation as-user
Frontière de sécuritéIdentité de l'appelant D-Bus → exécution de montage privilégié
Couche d'autorisationAutorisation de montage PolicyKit / fstab
FournisseurRed Hat / udisks upstream
StatutCorrectif en cours / divulgation coordonnée
Version de correctif prévueudisks 2.11.2
ConditionRequis
Accès utilisateur localOui
Version vulnérable de udisks2Oui
Fonctionnalité as-user présenteOui
Cible de montage gérée par fstab appropriéeOui
Chemin d'autorisation vulnérableOui
Accès distantNon
OutilObjectifRequis
busctlAppel de montage D-BusOui
gccCompiler le payload SUIDOui (utilise une copie bash en secours)
mke2fsCréer une image ext4Oui (mode autonome)
debugfsInjecter le binaire avec uid=0Oui (mode autonome)
python3-giConfiguration de boucle D-Bus avec passage de fdOptionnel (mode bureau)
udisksctlConfiguration du périphérique loopOptionnel (mode bureau)
ScriptObjectif
setup_lpe_env.shPréparer l'environnement de laboratoire (périphérique loop, fstab, utilisateur test)
f2_mount_as_user_bypass.shValider le contournement de Filesystem.Mount avec as-user=root
f2_check_nosuid.shVérifier les indicateurs nosuid/noexec/nodev sur le montage contourné
f2_suid_test.shTester l'exécution du binaire SUID sur le système de fichiers monté
f2_final.shPoC de bout en bout : configuration → contournement → vérifier euid=0
cleanup_lpe_env.shRestaurer l'environnement de test
DateÉvénement
2026-04-21Rapport soumis à la sécurité des produits Red Hat
2026-04-21Red Hat a confirmé la réception
2026-04-28Le vendeur a confirmé la logique défectueuse
2026-04-28Le vendeur a demandé les scripts PoC
2026-04-30Le vendeur a demandé l'allocation CVE
2026-04-30Scripts PoC envoyés au vendeur
2026-05-03Correctif initial du vendeur partagé
2026-05-05Correctif mis à jour du vendeur partagé
2026-05-05CVE-2026-7867 réservé
2026-05-05Ticket marqué comme résolu
2026-05-07Le vendeur a indiqué un correctif prévu pour udisks 2.11.2
ChercheurGitHubRôle
Azizcan Daştanazqzazq1Découverte, analyse, développement PoC, coordination avec le vendeur
Özlem Ozanoz7oz7Collaboration à la recherche et crédit de divulgation