
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).
| Í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 |
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 | 🟥 CRITICAL — cadena de ataque completa cumplida |
| 1–2/3 VULN | 🟨 MEDIUM / PARTIALLY EXPOSED — mitigación parcial |
| 0/3 VULN | 🟩 SECURE — parcheado / componentes desactivados |
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:
| 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 |
┌──────────────────────────────────────────────────────────────────┐
│ 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.