
Exploit d'élévation de privilèges locaux du noyau Linux avec audit automatisé des prérequis pour CVE-2026-46300, validant le statut des correctifs, la configuration XFRM ESP-in-TCP et les espaces de noms utilisateur avant de compiler et d'exécuter l'exploit.
Boîte à outils d'audit et d'exploitation LPE du noyau Linux · Régression Page-Cache / XFRM ESP-in-TCP (espintcp)
Audit interactif → Détection des prérequis LPE → Exécution automatique de l'exploit (après confirmation)
⚠️ Avertissement éthique et légal Cet outil est réservé aux tests de sécurité légaux et autorisés — pentests sous contrat, laboratoires/CTF, ou actifs vous appartenant. Toute utilisation sans l'autorisation du propriétaire du système constitue une infraction pénale (UU ITE, Computer Fraud and Abuse Act, etc.). L'utilisateur est entièrement responsable.
CVE-2026-46300 est une vulnérabilité d'élévation de privilèges locale (LPE) dans le noyau Linux causée par une régression dans skb_try_coalesce() entraînant une corruption du page-cache, exploitée via le sous-système XFRM ESP-in-TCP (espintcp).
Ce dépôt contient 2 composants :
| Fichier | Fonction |
|---|---|
fragnesia.sh | Scanner d'audit — vérifie les 3 prérequis, puis propose l'exécution de l'exploit si la cible est vulnérable |
fragnesia.c | Exploit LPE — code source de l'exploit compilé et exécuté par le script |
┌───────────────────────┐
│ fragnesia.sh │
│ Audit 3 pemeriksaan │
└──────────┬────────────┘
▼
CHECKS_TRIGGERED > 0 ?
┌──────┴───────┐
│ Ya │ Tidak → Selesai (target aman)
▼ │
Cek fragnesia.c ada?
┌──────┴───────┐
│ Ya │ Tidak → instruksi, selesai
▼ │
Konfirmasi user [y/N]
┌──────┴───────┐
│ Ya │ Tidak → batal, selesai
▼ │
gcc -O2 -w fragnesia.c -o exp
│
▼
./exp ← eksekusi exploit
Opérateur (hôte où le script est exécuté) :
gcc pour la compilation de l'exploitCible (pour être potentiellement vulnérable) :
skb_try_coalesce())CONFIG_XFRM_ESPINTCP / CONFIG_INET_ESPINTCP actives (=y/m)kernel.unprivileged_userns_clone=1)# 1. Clone
git clone https://github.com/Kentox493/CVE-2026-46300_Fragnesia.git
cd CVE-2026-46300_Fragnesia
# 2. Pastikan script executable
chmod +x fragnesia.sh
# 3. (Opsional) Toolchain bila belum ada
sudo apt update && sudo apt install -y build-essential
# atau (RHEL/Fedora)
sudo dnf groupinstall "Development Tools"
./fragnesia.sh
fragnesia.c et fragnesia.sh doivent se trouver dans le même répertoire, car le script recherche l'exploit de manière relative.
Le script exécute automatiquement 3 vérifications d'audit.
Si une indication de vulnérabilité est détectée (CHECKS_TRIGGERED > 0), une invite s'affiche :
[?] Target terdeteksi vulnerable (2/3). Lanjut kompilasi & eksekusi exploit? [y/N]:
Saisissez y → le script compile et exécute automatiquement l'exploit.
Saisissez autre chose que y / Entrée → l'exécution est annulée, l'audit se termine.
gcc -O2 -w fragnesia.c -o exp
./exp
Vérifie le nom d'hôte + le noyau actif, puis consulte le changelog du paquet kernel de la distribution (apt-get changelog / rpm -q --changelog) pour détecter la présence du patch CVE-2026-46300.
| Résultat | Signification |
|---|---|
VULN | Aucun patch dans le changelog de la distribution |
SAFE | Patch CVE-2026-46300 détecté |
Vérifie le flag ESP-in-TCP dans /boot/config-$(uname -r) ou /proc/config.gz. Repli : détection des modules XFRM/IPsec via /lib/modules/ ou lsmod.
| Résultat | Signification |
|---|---|
VULN | CONFIG_XFRM_ESPINTCP / CONFIG_INET_ESPINTCP actives (=y/m) |
SAFE | Sous-système désactivé / non compilé |
Vérifie kernel.unprivileged_userns_clone (repli : /proc/sys/user/max_user_namespaces).
| Résultat | Signification |
|---|---|
VULN | Userns activé → un utilisateur non privilégié peut obtenir CAP_NET_ADMIN |
SAFE | Userns désactivé → mitigation active |
UNCERTAIN | Impossible à déterminer → examen manuel requis |
| Score | Verdict |
|---|---|
| 3/3 VULN | 🟥 — chaîne d'attaque complète satisfaite |
Cette phase n'est active que si CHECKS_TRIGGERED > 0. Ce que le script exécute :
# 1. Verifikasi keberadaan fragnesia.c
# 2. Konfirmasi user (default: TIDAK / N)
# 3. Kompilasi exploit:
gcc -O2 -w fragnesia.c -o exp
# 4. Eksekusi:
./exp
Notes sur les flags de compilation :
-O2 — optimisation niveau 2 (cruciale pour un exploit basé sur une course/timing afin d'être stable)-w — supprime les avertissements (le code source d'un exploit contient généralement de nombreux avertissements int-conversion, etc.)Gestion d'erreurs intégrée au script :
┌──────────────────────────────────────────────────────────────────┐
│ FRAGNESIA (CVE-2026-46300) - HOST VULNERABILITY AUDIT TOOL │
│ Linux Kernel Page-Cache / XFRM espintcp Regression Inspector │
└──────────────────────────────────────────────────────────────────┘
┌──[STEP 1] Host & Kernel Verification
│ [i] INFO │ Hostname : webserver-01
│ [i] INFO │ Active Kernel : 6.8.0-45-generic
│ [!] VULNERABLE │ Patch Changelog -> No security patch found for CVE-2026-46300
└──
┌──[STEP 2] Kernel Subsystems Configuration (XFRM / ESP)
│ [!] VULNERABLE │ ESP-in-TCP Flag -> CONFIG_XFRM_ESPINTCP / CONFIG_INET_ESPINTCP active (=y/m)
└──
┌──[STEP 3] User Namespace Isolation Prerequisite
│ [!] VULNERABLE │ User Namespaces -> Enabled (Allows unprivileged user to gain CAP_NET_ADMIN)
└──
┌──────────────────────────────────────────────────────────────────┐
│ EXECUTIVE AUDIT SUMMARY │
└──────────────────────────────────────────────────────────────────┘
[!] AUDIT RESULT: CRITICAL - TARGET IS HIGHLY VULNERABLE
Semua prasyarat rantai serangan (Kernel patch, ESP subsistem, dan Userns) terpenuhi.
┌──────────────────────────────────────────────────────────────────┐
│ OPSIONAL: EKSEKUSI EXPLOIT FRAGNESIA (LPE) │
└──────────────────────────────────────────────────────────────────┘
[i] fragnesia.c ditemukan (18,432 bytes).
[?] Target terdeteksi vulnerable (3/3). Lanjut kompilasi & eksekusi exploit? [y/N]: y
┌──[STEP 4] Kompilasi & Eksekusi Exploit (fragnesia.c)
│ [i] INFO : Toolchain: gcc (Ubuntu 13.2.0-23ubuntu4) 13.2.0
│ $ gcc -O2 -w fragnesia.c -o exp
│ [✓] Kompilasi berhasil -> ./exp
│ $ ./exp
│ [*] Fragnesia exploit running...
│ [*] Overwriting page cache...
│ [*] Got root! uid=0(root) gid=0(root)
└──
skb_try_coalesce() du fournisseur de la distribution.sudo sysctl -w kernel.unprivileged_userns_clone=0
/etc/sysctl.conf.echo 'install esp4_offload /bin/true' | sudo tee /etc/modprobe.d/disable-esp.conf
sudo update-initramfs -u
exp / les processus anormaux dans /tmpCAP_NET_ADMIN dans les conteneurs et les espaces de noms utilisateurCVE-2026-46300_Fragnesia/
├── fragnesia.sh # Audit scanner + trigger eksekusi exploit (bash)
├── fragnesia.c # Source exploit LPE (C)
└── README.md # Dokumentasi ini
Réservé à un usage légal. Cet outil est destiné à :
Vous devez obtenir l'autorisation écrite du propriétaire du système avant d'exécuter cet outil sur toute infrastructure.
Le dépôt est fourni « en l'état » sans aucune garantie. Les contributeurs ne sont pas responsables de toute mauvaise utilisation.
Licence : MIT
skb_try_coalesce() — documentation de la pile réseau| Élément | Détail |
|---|
| CVE | CVE-2026-46300 |
| Type | Élévation de privilèges locale (LPE) |
| Composant | Noyau Linux — page-cache + XFRM ESP-in-TCP (espintcp) |
| Cause racine | Régression skb_try_coalesce() → corruption mémoire/page-cache |
| Prérequis | 3 conditions doivent être remplies (voir tableau d'audit) |
| Impact | Utilisateur non privilégié → root |
CRITICAL| 1–2/3 VULN | 🟨 MEDIUM / PARTIALLY EXPOSED — mitigation partielle |
| 0/3 VULN | 🟩 SECURE — patché / composants désactivés |
| Condition | Traitement |
|---|
fragnesia.c absent | Message d'instructions, sans crash |
gcc non installé | Message avec la commande d'installation de la chaîne d'outils |
| Échec de compilation | L'exploit n'est pas exécuté, l'erreur du compilateur est affichée |
Code de sortie ./exp ≠ 0 | Signalé comme un échec |