Polkit
Type d’utilisateurs Droitsassociés
allow_any auth_admin
allow_active yes
allow_inactive auth_admin
Fonction Reboot et Redimensionnement de fichiers
14/36
Recap CVE-2025-6018
Connexion enSSH
Création d’une session
avec l'environnement
PAM global corrompu
Modification du fichier
d'environnement pam
utilisateur
Création d’une nouvelle
session
Chargement du fichier
d'environnement
utilisateur
Utilisateur
allow_active
16/36
17.
Contre Mesures CVE-2025-6018
AvantCVE découverte
Par défaut : Lit .pam_environment
Phase authentification puis phase session
Après CVE découverte
Par défaut : Ne lit pas .pam_environment
Phase session puis phase authentification
17/36
Explication du bitSUID
Bit SUID
Binaire ajouté
Délégation d’autorité
20/36
21.
Shell avec bitSUID
Shell avec bit SUID
Binaire bash/sh
Permet d'exécuter du code en tant que
Root
21/36
22.
Drapeaux nosuid etnodev
nosuid nodev
Ignore le bit SUID
Empêche
l'interprétation des
fichiers de
périphérique
spéciaux
22/36
23.
Système de fichierset montage
Les données sont organisées dans
des systèmes de fichiers (ext4,
XFS…)
Point de montage : /mnt/usb donc
ce dossier affiche le contenu de
/dev/sdb1
commande de montage :
mount /dev/sdb1 /mnt/usb
Par mesure de sécurité, on monte ce système de fichiers avec les options nosuid et nodev afin
d’empêcher l’utilisation de bits SUID.
23/36
24.
Image malveillante avecbash SUID
L’attaquant crée un “faux disque” sous forme de fichier (image XFS).
Il y met une copie de /bin/bash à l’intérieur.
Il configure ce bash avec le bit SUID root et le transfert à la victime
Si un service système monte cette image sans nosuid,
→ l’attaquant peut lancer ce bash et obtenir un shell
root.
24/36
25.
Udisks et libblockdev
Udisks: Libblockdev :
- Système exposé sur D-Bus
- Reçoit les demandes des applis /
utilisateurs (monter, redimensionner,
formater…)
- Vérifie les droits avec polkit et décide
quoi est autorisé
- Bibliothèque utilisée par udisks
- Exécute les vraies opérations disque :
création, suppression,
redimensionnement, montage…
- Envoie les commandes concrètes au
kernel et aux outils disque
25/36
Où se situeexactement l’erreur
Depuis 2017 : redimensionnement XFS dangereux
Pour XFS, udisks appelle xfs_growfs via libblockdev.
Si le FS n’est pas monté : → libblockdev le monte temporairement
dans /tmp, redimensionne puis le démonte directement après
❌ Faille : ce montage se fait sans nosuid ni nodev.
Si on arrive à faire échouer le démontage alors on garde actif ce montage temporaire
qu’on peut utiliser par la suite.
27/36
Recap CVE-2025-6019
Préparation etdépôt
d’une image disque
malveillante
il exécute
/tmp/blockdev…/bash
L’attaquant
allow_active crée un
loop device sur une
image XFS
L’attaquant garde un
processus ouvert sur
/tmp/blockdev*/bash
et redimentionne
Le démontage échoue
car le montage est
occupé
Utilisateur root
32/36
33.
Contre Mesures CVE-2025-6019
AvantCVE découverte
Monter temporairement sans les drapeaux
Après CVE découverte
Montage réalisé avec les drapeaux nosuid et nodev
33/36