
Repositorio educativo que detalla CVE-2026-46300 (Fragnesia), una vulnerabilidad de escalada de privilegios local del kernel de Linux. Proporciona análisis técnico, sistemas afectados, indicadores de detección y pasos de remediación para equipos de defensa.
Repositorio de sensibilización únicamente. Este repositorio no contiene código de explotación. Su objetivo es informar a los administradores de sistemas, ingenieros y equipos de seguridad sobre la naturaleza de la vulnerabilidad y las medidas de remediación disponibles.
| Campo | Valor |
|---|---|
| CVE | CVE-2026-46300 |
| Nombre | Fragnesia |
| Severidad | High (CVSS 7.8) |
| Tipo | Local Privilege Escalation (LPE) |
| Componente | Linux Kernel — XFRM ESP-in-TCP subsystem |
| Descubridor | William Bowling (V12 Security / Zellic.io) |
| Divulgación | 14 de mayo de 2026 |
| Parche upstream | 13 de mayo de 2026 — [PATCH net] net: skbuff: preserve shared-frag marker during coalescing |
| PoC público | ✅ Sí (publicado el día de la divulgación) |
| Explotación ITW | ❌ Ninguna observada hasta la fecha |
Fragnesia es la tercera vulnerabilidad de una serie descubierta en el subsistema IPsec del kernel de Linux en el lapso de dos semanas:
Dirty Frag (CVE-2026-43284) ──► Copy Fail (CVE-2026-43500) ──► Fragnesia (CVE-2026-46300)
Mayo 2026 Mayo 2026 14 de mayo de 2026
Irónicamente, el parche de Dirty Frag activó latentemente la falla Fragnesia — la corrección de CVE-2026-43284 introdujo una ruta de código que expone un error preexistente desde un commit de 2013.
"Fragnesia was accidentally activated by the patch fixing CVE-2026-43284."
— Hyunwoo Kim, descubridor de Dirty Frag
La falla reside en la función skb_try_coalesce() del código socket-buffer del kernel. Al fusionar fragmentos entre buffers, el marcador SKBFL_SHARED_FRAG no se propagaba, haciendo que el kernel perdiera la pista de que un fragmento estaba respaldado por páginas del page cache (ej.: un archivo mapeado en memoria mediante splice()).
1. L'attaquant ouvre un socket TCP
2. Il splice() des pages d'un fichier read-only (ex. /usr/bin/su) dans la receive queue
3. Le socket bascule en mode espintcp (ULP)
4. Le noyau traite les pages du fichier comme du texte chiffré ESP
5. La décryption AES-GCM in-place écrit des octets contrôlés dans le page cache
6. /usr/bin/su en mémoire est corrompu → exécution de code root au prochain appel
reboot restaura el estado)CAP_NET_ADMIN sin privilegios elevadossuTodos los kernels de Linux publicados antes del 13 de mayo de 2026 que incluyan el mecanismo SKBFL_SHARED_FRAG.
Las distribuciones afectadas incluyen principalmente:
Actualizar a un kernel parcheado:
# Debian / Ubuntu
sudo apt-get update && sudo apt-get dist-upgrade -y
sudo reboot
uname -r # Vérifier la version du nouveau noyau
# RHEL / AlmaLinux / Rocky Linux
sudo dnf clean metadata && sudo dnf upgrade -y
sudo reboot
# Arch Linux
sudo pacman -Syu
sudo reboot
Si no es posible una actualización inmediata:
# Décharger les modules actifs
sudo rmmod esp4 esp6 rxrpc 2>/dev/null; true
# Blacklister définitivement les modules
printf 'install esp4 /bin/false\ninstall esp6 /bin/false\ninstall rxrpc /bin/false\n' \
| sudo tee /etc/modprobe.d/fragnesia.conf
# Régénérer initramfs (Debian/Ubuntu)
sudo update-initramfs -u
⚠️ La misma lista negra de módulos que la utilizada para Dirty Frag cubre también Fragnesia.
# Vérifier si les modules vulnérables sont chargés
lsmod | grep -E '^esp4|^esp6|^rxrpc'
# Si la commande retourne du contenu → le système est exposé
# Vérifier la version du noyau actuel
uname -r
cat /etc/os-release
AF_ALG mediante Seccomp/etc/passwd, /etc/sudoers, /etc/shadow, /usr/bin/susplice, add_key y unshare para usuarios no privilegiadosSi se sospecha una explotación antes de aplicar el parche:
sync; echo 3 | sudo tee /proc/sys/vm/drop_caches
⚠️ Esto purga únicamente la copia en memoria. Si un atacante ya ha obtenido privilegios root e instalado una backdoor, este comando no es suficiente — tratar el sistema como completamente comprometido.
Las herramientas de detección deben monitorear:
/usr/bin/su, /usr/bin/sudo, /bin/bash en memoriasplice(), add_key(), unshare() por parte de usuarios no privilegiadosespintcp en sockets de usuarios no privilegiados🔎 Las herramientas de seguridad basadas únicamente en el análisis de archivos en disco no pueden detectar esta explotación, ya que el binario en disco permanece intacto.
Este repositorio se publica con un fin exclusivamente educativo y defensivo. No contiene ningún código de explotación (PoC).
Cualquier uso de la información presente en este repositorio con fines maliciosos o sin autorización explícita en sistemas de terceros es ilegal y contrario a la ética. El autor declina toda responsabilidad ante un uso indebido de esta información.
Responsible Disclosure — Si descubre una vulnerabilidad, siga las prácticas de divulgación responsable y contacte a los equipos de seguridad correspondientes antes de cualquier publicación.
Maxime288 — github.com/Maxime288
Repositorio de monitoreo de seguridad — Seguimiento de vulnerabilidades críticas de Linux
| Distribución | Estado del parche |
|---|
| Ubuntu 22.04 / 24.04 | ✅ Parcheado |
| Debian 11 / 12 | ✅ Parcheado |
| AlmaLinux | ✅ Parcheado (antes de RHEL) |
| Red Hat / RHEL | ✅ Aviso publicado |
| SUSE / openSUSE | ✅ Aviso publicado |
| Amazon Linux | ✅ Aviso publicado |
| Fedora | ✅ Parcheado |
| Arch Linux | ✅ Parcheado |
| CentOS / Rocky Linux | ✅ Parcheado |