
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:
| 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 |
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.