
Exploit de escalada de privilegios local del kernel de Linux con auditoría automatizada de requisitos previos para CVE-2026-46300, validando el estado del parche, la configuración de XFRM ESP-in-TCP y los namespaces de usuario antes de compilar y ejecutar el exploit.
Linux Kernel LPE Audit & Exploit Toolkit · Regresión de Page-Cache / XFRM ESP-in-TCP (espintcp)
Auditoría interactiva → Detección de requisitos previos de LPE → Ejecución automática del exploit (tras confirmación)
⚠️ Advertencia Ética y Legal Esta herramienta solo sirve para pruebas de seguridad legítimas y autorizadas — pentest contratado, laboratorio/CTF o activos propios. El uso sin permiso del propietario del sistema es un delito (UU ITE, Computer Fraud and Abuse Act, etc.). El usuario asume toda la responsabilidad.
CVE-2026-46300 es una vulnerabilidad de escalada de privilegios local (LPE) en el kernel de Linux debida a una regresión en skb_try_coalesce() que provoca corrupción de la page-cache, explotada a través del subsistema XFRM ESP-in-TCP (espintcp).
Este repositorio contiene 2 componentes:
| Archivo | Función |
|---|---|
fragnesia.sh | Escáner de auditoría — comprueba los 3 prerrequisitos y luego ofrece ejecutar el exploit si el objetivo es vulnerable |
fragnesia.c | Exploit LPE — código fuente del exploit que el script compila y ejecuta |
┌───────────────────────┐
│ 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
Operador (host donde se ejecuta el script):
gcc para compilar el exploitObjetivo (para ser potencialmente vulnerable):
skb_try_coalesce())CONFIG_XFRM_ESPINTCP / CONFIG_INET_ESPINTCP activos (=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 y fragnesia.sh deben estar en el mismo directorio, ya que el script busca el exploit de forma relativa.
El script ejecuta 3 comprobaciones de auditoría automáticas.
Si hay indicios de vulnerabilidad (CHECKS_TRIGGERED > 0), aparece el prompt:
[?] Target terdeteksi vulnerable (2/3). Lanjut kompilasi & eksekusi exploit? [y/N]:
Escribe y → el script compila y ejecuta el exploit automáticamente.
Escribir cualquier otra cosa / Enter → se cancela la ejecución y la auditoría termina.
gcc -O2 -w fragnesia.c -o exp
./exp
Verifica el hostname y el kernel activo, y luego comprueba el changelog del paquete del kernel de la distro (apt-get changelog / rpm -q --changelog) para ver si existe el parche de CVE-2026-46300.
| Resultado | Significado |
|---|---|
VULN | No hay parche en el changelog de la distro |
SAFE | El parche de CVE-2026-46300 está presente |
Comprueba las flags de ESP-in-TCP en /boot/config-$(uname -r) o /proc/config.gz. Alternativa: detección de módulos XFRM/IPsec vía /lib/modules/ o lsmod.
| Resultado | Significado |
|---|---|
VULN | CONFIG_XFRM_ESPINTCP / CONFIG_INET_ESPINTCP activos (=y/m) |
SAFE | Subsistema deshabilitado / no compilado |
Comprueba kernel.unprivileged_userns_clone (alternativa: /proc/sys/user/max_user_namespaces).
| Resultado | Significado |
|---|---|
VULN | Userns habilitado → el usuario no privilegiado puede obtener CAP_NET_ADMIN |
SAFE | Userns deshabilitado → mitigación activa |
UNCERTAIN | No se puede determinar → requiere revisión manual |
| Puntuación | Veredicto |
|---|---|
| 3/3 VULN | 🟥 — cadena de ataque completa cumplida |
Esta fase solo se activa si CHECKS_TRIGGERED > 0. Lo que ejecuta el script:
# 1. Verifikasi keberadaan fragnesia.c
# 2. Konfirmasi user (default: TIDAK / N)
# 3. Kompilasi exploit:
gcc -O2 -w fragnesia.c -o exp
# 4. Eksekusi:
./exp
Notas sobre las banderas de compilación:
-O2 — optimización de nivel 2 (crucial para que un exploit basado en race/timing sea estable)-w — suprime warnings (el código fuente del exploit suele estar lleno de warnings de int-conversion, etc.)Manejo de errores integrado en el 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() del vendor de la distro.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 o procesos sospechosos en /tmpCAP_NET_ADMIN en contenedores y namespaces de usuarioCVE-2026-46300_Fragnesia/
├── fragnesia.sh # Audit scanner + trigger eksekusi exploit (bash)
├── fragnesia.c # Source exploit LPE (C)
└── README.md # Dokumentasi ini
Solo para uso legítimo. Esta herramienta está pensada para:
Usted debe tener autorización por escrito del propietario del sistema antes de ejecutar esta herramienta en cualquier infraestructura.
El repositorio se proporciona "tal cual", sin garantía alguna. Los contribuyentes no se hacen responsables de su mal uso.
Licencia: MIT
skb_try_coalesce() — documentación de la pila de red| Ítem | Detalle |
|---|
| CVE | CVE-2026-46300 |
| Tipo | Escalada de privilegios local (LPE) |
| Componente | Kernel de Linux — page-cache + XFRM ESP-in-TCP (espintcp) |
| Causa raíz | Regresión de skb_try_coalesce() → corrupción de memoria/page-cache |
| Prerrequisitos | Deben cumplirse 3 condiciones (ver tabla de auditoría) |
| Impacto | Usuario no privilegiado → root |
CRITICAL| 1–2/3 VULN | 🟨 MEDIUM / PARTIALLY EXPOSED — mitigación parcial |
| 0/3 VULN | 🟩 SECURE — parcheado / componentes desactivados |
| Condición | Manejo |
|---|
fragnesia.c no existe | Mensaje con instrucciones, sin crash |
gcc no está instalado | Mensaje con el comando para instalar el toolchain |
| La compilación falla | El exploit no se ejecuta y se muestra el error del compilador |
Código de salida ./exp ≠ 0 | Se reporta como fallo |