Skip to content
KitploitKITPLOIT
OutilsExploitsBlog
Log in
Soumettre
OutilsExploitsBlog
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
DIRTYFAIL — Détecteur + PoC pour les vulnérabilités d'écriture du cache de pages Linux : Copy Fail (CVE-2026-31431) et Dirty Frag (CVE-2026-43284/43500). Recherche en sécurité autorisée uniquement. | Kitploit
Outils/GitHubGitHub/karazajac/dirtyfail
Escalade de PrivilègesAnalyse des VulnérabilitésExploitationTests d'IntrusionArticles et RechercheApprentissage et ÉducationRed TeamingÉvasion de ConteneurExploitation de BinairesLabs et Pratique
GitHub
261211il y a 4 moisVérifié par Kitploit

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
karazajac/dirtyfail

DIRTYFAIL

Détecteur + PoC pour les vulnérabilités d'écriture du cache de pages Linux : Copy Fail (CVE-2026-31431) et Dirty Frag (CVE-2026-43284/43500). Recherche en sécurité autorisée uniquement.

Voir le dépôt

DIRTYFAIL

Un détecteur unifié et un harnais de preuve de concept (PoC) pour les familles de vulnérabilités d'écriture du cache de pages Linux Copy Fail et Dirty Frag.``` ██████╗ ██╗██████╗ ████████╗██╗ ██╗███████╗ █████╗ ██╗██╗ ██╔══██╗██║██╔══██╗╚══██╔══╝╚██╗ ██╔╝██╔════╝██╔══██╗██║██║ ██║ ██║██║██████╔╝ ██║ ╚████╔╝ █████╗ ███████║██║██║ ██║ ██║██║██╔══██╗ ██║ ╚██╔╝ ██╔══╝ ██╔══██║██║██║ ██████╔╝██║██║ ██║ ██║ ██║ ██║ ██║ ██║██║███████╗ ╚═════╝ ╚═╝╚═╝ ╚═╝ ╚═╝ ╚═╝ ╚═╝ ╚═╝ ╚═╝╚═╝╚══════╝

DIRTYFAIL est un outil C petit et bien documenté destiné aux chercheurs en sécurité.
Il détecte si un hôte Linux est vulnérable aux trois CVE de cette
famille, et — avec une confirmation explicite tapée — exécute une
preuve de concept réelle qui place l'appelant dans un shell root sur un
système vulnérable.

| CVE / variante | Nom | Couverture DIRTYFAIL |
|---|---|---|
| **CVE-2026-31431** | Copy Fail (algif_aead `authencesn` écriture cache de pages) | Détection + PoC complet |
| **CVE-2026-43284 v4** | Dirty Frag — IPv4 xfrm-ESP écriture cache de pages          | Détection + PoC complet |
| **CVE-2026-43284 v6** | Dirty Frag — IPv6 xfrm-ESP écriture cache de pages (`esp6`) | Détection + PoC complet |
| **CVE-2026-43500**    | Dirty Frag — RxRPC écriture cache de pages                  | Détection + PoC complet |
| Variante Copy Fail GCM | xfrm-ESP `rfc4106(gcm(aes))` écriture cache de pages        | Détection + PoC complet |

**Modes bonus :**

- **`--scan --active`** — sondes actives sentinel-STORE. Par défaut `--scan`
  rapporte les préconditions par CVE (noyau, modules, état LSM) ainsi qu'une
  sonde active de la primitive Copy Fail. L'ajout de `--active` étend
  la sonde STORE du fichier sentinelle aux quatre autres primitives (ESP v4,
  ESP v6, RxRPC, GCM) : chacune déclenche le déclencheur noyau contre une
  sentinelle dans `/tmp` et ne signale VULNÉRABLE que si les octets marqueurs
  atterrissent réellement. C'est le seul moyen de distinguer un noyau avec
  un correctif rétroporté (les préconditions disent vulnérable mais la sonde
  dit intact) d'un noyau non corrigé sans exécuter l'exploit complet.
  `/etc/passwd` n'est jamais touché. Auto-calibrage du décalage STORE V6 par
  version de noyau.
- **`--exploit-backdoor`** — porte dérobée persistante uid-0 : remplacement
  à longueur identique d'une ligne `nologin`/`false`/`sync` dans `/etc/passwd`
  par `dirtyfail::0:0:<pad>:/:/bin/bash`. Survit à la sortie du shell jusqu'à
  ce que la page soit évincée. État stocké dans `/var/tmp/.dirtyfail.state`
  pour `--cleanup-backdoor`. Le nom d'utilisateur `dirtyfail` est délibérément
  choisi pour correspondre à ce projet afin qu'il soit immédiatement
  identifiable dans tout audit — changez `NEW_USER` dans `src/backdoor.c` si
  vous avez besoin d'un identifiant différent pour un engagement d'équipe
  rouge autorisé.
- **Contournement AppArmor** — bat la politique
  `apparmor_restrict_unprivileged_userns=1` d'Ubuntu via une ré-exécution
  `change_onexec("crun")` en un saut dans un profil non confiné qui conserve
  les capacités userns. Chaque mode d'exploitation gère cela en interne via
  un fork : le parent reste dans l'espace de nommage init, l'enfant effectue
  la danse de contournement, le parent lit le cache de pages global et
  exécute `su` pour un vrai root de l'espace de nommage init. L'option
  héritée `--aa-bypass` existe encore pour déboguer les mécanismes de
  contournement en isolation. Voir [§8.5 Architecture](#85-architecture-outerinner-fork-based-bypass).

## Fonctionnement vérifié sur

DIRTYFAIL a été **validé empiriquement de bout en bout** sur plusieurs
distributions et versions de noyau. La matrice ci-dessous reflète les
résultats de test par mode lors de l'exécution de chaque mode `--exploit-*`
contre une installation fraîche de chaque distribution.

| Distribution | Noyau | LSM | Copy Fail | xfrm-ESP v4 | xfrm-ESP v6 | RxRPC | GCM | Porte dérobée | Shellcode SU |
|---|---|---|---|:-:|:-:|:-:|:-:|:-:|:-:|:-:|
| Ubuntu 24.04 LTS | `6.8.0-111-generic` | AppArmor | 🛡²  | ✅ | ✅ | ✅ | ✅¹ | ✅¹ | (non testé) |
| Debian 13.4 | `6.12.86+deb13` | aucun | 🛡 | 🛡 | 🛡 | 🛡 | 🛡 | 🛡 | 🛡⁵ |
| AlmaLinux 10.1 | `6.12.0-124.8.1.el10_1` | SELinux | ✅ | ✅ | ✅ | ⏭³ | ✅ | ✅ | ✅ |
| Fedora 44 (Serveur) | `6.19.10-300.fc44` | SELinux | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| Ubuntu 26.04 LTS | `7.0.0-15-generic` | AppArmor (renforcé) | 🛡 | 🛡⁴ | 🛡⁴ | 🛡⁴ | 🛡⁴ | 🛡⁴ | 🛡⁵ |

**Légende :** ✅ exploit atterri et a produit un vrai root de l'espace de nommage init  · 🛡 atténué — l'exploit ne peut pas atteindre le bogue noyau (noyau patché OU LSM bloque le chemin non privilégié)  · ⏭ non applicable (précondition manquante)

### Validation des sondes actives (`--scan --active`)

Le flag `--active` ajoute une sonde STORE de fichier sentinelle par CVE lors
de la détection. Nous avons validé les sorties des sondes contre les mêmes 4
distributions ci-dessus (Debian, Fedora, AlmaLinux, Ubuntu 26.04) — la
matrice ci-dessous montre le verdict de la sonde par mode et correspond
un-à-un à la vérité terrain de l'exploit complet :

| Distribution | Sonde Copy Fail | Sonde ESP v4 | Sonde ESP v6 | Sonde RxRPC | Sonde GCM |
|---|---|:-:|:-:|:-:|:-:|:-:|
| Debian 13.4 | intacte 🛡 | intacte 🛡 | intacte 🛡 | intacte 🛡 | intacte 🛡 |
| Fedora 44   | marqueur @0 ✅ | STORE @0 ✅ | STORE @8 ✅ | changement d'octet ✅ | sentinelle[0] 0x41→0x27 ✅ |
| AlmaLinux 10.1 | marqueur @0 ✅ | STORE @0 ✅ | STORE @8 ✅ | préconditions ⏭ | sentinelle modifiée ✅ |
| Ubuntu 26.04 | intacte 🛡 | bloquée par LSM 🛡 | bloquée par LSM 🛡 | bloquée par LSM 🛡 | bloquée par LSM 🛡 |

Le décalage d'atterrissage STORE de la sonde V6 (8 sur Fedora et Alma)
correspond au `V6_STORE_SHIFT` empirique que `calibrate_v6_shift()` découvre
à l'exécution — confirmant que l'auto-calibrage remplace correctement la
constante précédemment codée en dur entre les versions de noyau.

¹ GCM et la porte dérobée nécessitent que `algif_aead` soit chargeable.
Ubuntu 24.04 fournit `/etc/modprobe.d/disable-algif_aead.conf` qui le
met sur liste noire comme mesure d'atténuation de Copy Fail. Une fois la
liste noire supprimée (par exemple sur un noyau antérieur à la mesure
d'atténuation), les deux modes fonctionnent de bout en bout.

² Le chemin algif_aead de Copy Fail est atténué par la liste noire de
modprobe ; la primitive CVE sous-jacente dans le noyau est la même que
`authencesn` soit atteignable ou non. xfrm-ESP, RxRPC et la variante GCM
atterrissent tous sur le même noyau car ils ne passent pas par algif_aead.

³ Le paquet `kernel-modules-extra` d'AlmaLinux 10 n'est pas installé par
défaut sur une installation minimale, donc `rxrpc.ko` est manquant sur le
disque. L'installation de `kernel-modules-extra-$(uname -r)` depuis EPEL ou
le dépôt extras AlmaLinux ramène le module ; sur une installation minimale
standard, RxRPC est inaccessible.

⁴ **Ubuntu 26.04 LTS bloque de manière exhaustive l'exploitation non
privilégiée.** Le noyau livré `7.0.0-15.15` (publié le 2026-04-22) **est
antérieur d'environ 2 semaines au patch principal `f4c50a4034e6` (fusionné
le 2026-05-07)** — donc le bogue EST toujours présent dans le noyau. La
défense d'Ubuntu est une **défense en profondeur via le renforcement
d'AppArmor**, pas un patch noyau :
Télécharger l’outil