Faille Linux Dirty Frag Augmente le Risque Après Compromission
Detection stack
- AIDR
- Alert
- ETL
- Query
Résumé
Dirty Frag désigne les failles d’escalade de privilèges locaux sous Linux suivies sous le nom CVE-2026-43284 and CVE-2026-43500 qui permettent à un utilisateur peu privilégié d’obtenir un accès root en exploitant les composants de gestion de la mise en réseau et de la fragmentation mémoire du noyau, y compris esp4, esp6, et rxrpc. L’exploitation a été observée dans des attaques réelles où les adversaires s’implantent d’abord via un accès SSH, des web shells, des évasions de conteneurs ou des comptes de service compromis, puis déclenchent la vulnérabilité avec un binaire ELF qui invoque la commande su . Une fois les privilèges root obtenus, les attaquants peuvent désactiver les contrôles de sécurité, altérer les journaux, se déplacer latéralement et établir une persistance à long terme. Le rapport décrit une campagne limitée mais active utilisant cette technique.
Enquête
Les chercheurs de Microsoft Defender ont observé une chaîne d’intrusion étape par étape où un acteur externe a d’abord accédé via SSH, ouvert un shell interactif, et mis en scène un binaire ELF nommé ./update. Ce binaire a immédiatement invoqué su pour escalader les privilèges, après quoi l’attaquant a modifié un fichier d’authentification GLPI LDAP, énuméré les répertoires GLPI, supprimé et lu des fichiers de session PHP, et exfiltré des données de session. L’activité était alignée avec les alertes de Microsoft Defender liées à l’exécution suspecte de SUID et SGID et à la possible exploitation de Dirty Frag. L’enquête reste en cours alors que les chercheurs continuent d’examiner les nouvelles télémétries.
Atténuation
Les mises à jour de sécurité pour CVE-2026-43284 ont été publiées le 8 mai 2026, tandis qu’un correctif pour CVE-2026-43500 n’était pas encore disponible au moment du rapport. Les mesures d’atténuation recommandées incluent la désactivation des modules noyaux vulnérables rxrpc, esp4, et esp6 via configuration de modprobe , la réduction des accès locaux au shell non nécessaires, le renforcement des charges de travail containerisées, et la vidange des caches de pages après des tentatives d’exploitation suspectées. Les organisations doivent également prioriser le déploiement des correctifs noyaux et vérifier l’intégrité des fichiers critiques après toute compromission suspectée.
Réponse
Les défenseurs doivent détecter l’utilisation inhabituelle de la commande su , le chargement des modules esp4, esp6, ou rxrpc , et l’exécution de binaires ELF inconnus dans des contextes privilégiés. Appliquer rapidement les dernières mises à jour du noyau reste critique. Des contrôles supplémentaires doivent inclure l’application du moindre privilège pour les comptes locaux, une gestion plus stricte des clés SSH, et une surveillance de l’intégrité des fichiers sensibles tels que les configurations d’authentification GLPI LDAP. En cas de suspicion d’exploitation, les équipes doivent vider les caches, décharger les modules affectés, et réaliser une analyse forensic des artefacts de mémoire et de système de fichiers.
"graph TB %% Section des définitions de classes classDef action fill:#99ccff %% Bleu pour les nœuds d’action classDef builtin fill:#cccccc %% Gris pour outils, malwares, vulnérabilités, fichiers %% Définitions de nœuds initial_access["<b>Action</b> – <b>T1078 Comptes Valides</b><br/><b>Description</b>: Utilisation d’identifiants SSH compromis pour obtenir un shell interactif sur l’hôte Linux."] class initial_access action execution_unix_shell["<b>Action</b> – <b>T1059.004 Shell Unix</b><br/><b>Description</b>: Exécutez un binaire ELF malveillant (./update) via le shell Unix."] class execution_unix_shell action priv_esc_exploit["<b>Action</b> – <b>T1068 Exploitation pour Escalade de Privilège</b><br/><b>Description</b>: Exploitez la vulnérabilité du noyau Dirty Frag (CVE-2026-43284 / CVE-2026-43500) pour obtenir des privilèges root."] class priv_esc_exploit action credential_harvest["<b>Action</b> – <b>T1552.001 Identifiants Dans les Fichiers</b><br/><b>Description</b>: Modifiez le fichier d’authentification GLPI LDAP pour récupérer les identifiants stockés."] class credential_harvest action defense_evasion["<b>Action</b> – <b>T1070.004 Suppression de Fichiers</b><br/><b>Description</b>: Supprimez les fichiers de session PHP pour effacer les preuves et perturber les sessions actives."] class defense_evasion action tool_ssh["<b>Outil</b> – <b>Nom</b>: SSH<br/><b>Description</b>: Protocole de connexion à distance utilisé avec des identifiants volés."] class tool_ssh builtin malware_update["<b>Malware</b> – <b>Nom</b>: update (binaire ELF)<br/><b>Description</b>: Exécutable malveillant utilisé pour déclencher une escalade de privilèges."] class malware_update builtin vuln_dirtyfrag["<b>Vulnérabilité</b> – <b>Nom</b>: Dirty Frag (CVE-2026-43284 / CVE-2026-43500)<br/><b>Description</b>: Bug de corruption de mémoire du noyau qui permet une escalade de privilèges locale."] class vuln_dirtyfrag builtin file_glpi["<b>Fichier</b> – <b>Nom</b>: Configuration d’auth GLPI LDAP<br/><b>Chemin</b>: /etc/glpi/ldap.conf"] class file_glpi builtin file_sessions["<b>Fichier</b> – <b>Nom</b>: Fichiers de session PHP<br/><b>Emplacement</b>: /var/lib/php/sessions/"] class file_sessions builtin %% Connexions montrant le flux d’attaque initial_access –>|utilise| tool_ssh tool_ssh –>|fournit un shell pour| execution_unix_shell execution_unix_shell –>|exécute| malware_update malware_update –>|exploite| vuln_dirtyfrag vuln_dirtyfrag –>|permet| priv_esc_exploit priv_esc_exploit –>|modifie| file_glpi file_glpi –>|permet| credential_harvest credential_harvest –>|mène à| defense_evasion defense_evasion –>|supprime| file_sessions "
Flux d’Attaque
Exécution de Simulation
Prérequis : le Contrôle de Télémétrie et de Baseline Pre-flight doit avoir réussi.
Justification : Cette section détaille l’exécution précise de la technique d’adversaire (T1548) conçue pour déclencher la règle de détection. Les commandes et le récit DOIVENT refléter directement les TTPs identifiés et viser à générer exactement la télémétrie attendue par la logique de détection.
-
Narrative d’Attaque & Commandes :
-
Préparation – Décharger le ELF malveillant :
L’attaquant, opérant avec un compte à faible privilège, crée un binaire ELF nomméupdatequi exploite la vulnérabilité Dirty Frag. Dans le labo, nous simulons cela avec un simple ELF « hello world ».cat <<'EOF' > update.c #include <stdio.h> int main() { printf("Mise à jour malveillante exécutéen"); return 0; } EOF gcc -o update update.c chmod +x update -
Exécution du binaire vulnérable :
L’attaquant exécute le ELF depuis le répertoire actuel, générant un événementexecvepour./update../update -
Esacade de privilège – invoquer
suaprès le ELF :
Immédiatement après la fin de l’ELF malveillant, l’attaquant exécutesupour obtenir un shell root, en se basant sur la mauvaise configuration du système qui permet une escalade sans mot de passe (typique dans les environnements de labo vulnérables).su -c "id"La ligne de commande
su -c "id"contient le littéral./updatecomme partie de la même session (la règle de détection ne vérifie queproc.cmdline|contains: './update'dans le mêmesuprocessus). Pour satisfaire la règle, nous intégrons le chemin dans la même ligne de commande :suCela concatène l’exécution de l’ELF malveillant et la requête d’escalade de privilèges en un seul appelCela concatène l'exécution de l'ELF malveillant et la requête d'escalade de privilèges en un seul appelThis concatenates the malicious ELF execution and the privilege‑escalation request in a single
suproduisant la télémétrie exacte que la règle attend.
-
-
Script de test de régression :
#!/usr/bin/env bash # ------------------------------------------------------------ # Simule la chaîne d'escalade de privilèges Dirty Frag / Copie échouée # ------------------------------------------------------------ set -euo pipefail # 1. Construire un binaire ELF factice nommé 'update' cat <<'EOF' > update.c #include <stdio.h> int main() { printf("Mise à jour malveillante simuléen"); return 0; } EOF gcc -o update update.c chmod +x update # 2. Exécution du ELF (génère un événement execve normal) echo "[*] Exécution du ELF malveillant ./update" ./update # 3. Déclencher la condition de détection : su avec cmdline contenant './update' echo "[*] Invocation de su pour élever les privilèges en référant './update'" # Remarque : Dans de nombreux environnements de labo, 'su' peut être configuré sans mot de passe. su -c "./update && id" # 4. Nettoyage (géré séparément) -
Commandes de nettoyage :
#!/usr/bin/env bash # ------------------------------------------------------------ # Nettoyer les artefacts créés par le script de simulation # ------------------------------------------------------------ set -euo pipefail echo "[*] Suppression du binaire ELF simulé et du fichier source" rm -f update update.c echo "[*] Nettoyage terminé"