SAFE. Guía para proteger tu vida digital y tu privacidad
Showing posts with label software libre. Show all posts
Showing posts with label software libre. Show all posts

Jul 11, 2026

Guía de hardening para Linux

El propósito de esta guía "How To Secure A Linux Server" es enseñarte a proteger un servidor Linux. Hay muchas cosas que puedes hacer para proteger un servidor Linux, y esta guía intentará cubrir la mayor cantidad posible.

Los playbooks de Ansible de esta guía están disponibles en "Cómo proteger un servidor Linux con Ansible" de moltenbit.

¿Por qué proteger tu servidor?

Supongo que estás usando esta guía porque, con suerte, ya entiendes por qué es importante una buena seguridad. Este es un tema complejo y su explicación detallada está fuera del alcance de esta guía. Si no sabes la respuesta a esa pregunta, te recomiendo que investigues primero.

En términos generales, en el momento en que un dispositivo, como un servidor, es de dominio público (es decir, visible para el mundo exterior), se convierte en un objetivo para los ciberdelincuentes. Un dispositivo sin seguridad es un terreno fértil para ciberdelincuentes que buscan acceder a tus datos o usar tu servidor como plataforma para ataques DDoS a gran escala.

Lo peor es que, sin una buena seguridad, es posible que nunca sepas si tu servidor ha sido comprometido. Un ciberdelincuente podría haber accedido sin autorización y copiado tus datos sin modificar nada, por lo que nunca te enterarías. O tu servidor podría haber sido víctima de un ataque DDoS, sin que lo supieras. Basta con ver muchos de los casos de filtraciones de datos a gran escala que aparecen en las noticias: las empresas a menudo no descubrieron la fuga de datos o la intrusión hasta mucho después de que los ciberdelincuentes se hubieran marchado.

Contrariamente a la creencia popular, los ciberdelincuentes no siempre buscan modificar algo o bloquear el acceso a tus datos a cambio de dinero. A veces, simplemente quieren los datos de tu servidor para sus almacenes de datos (el big data genera grandes beneficios) o para usar tu servidor de forma encubierta con fines maliciosos.

¿Por qué otra guía?

Esta guía puede parecer redundante o innecesaria, ya que existen innumerables artículos en línea sobre cómo proteger Linux, pero la información está dispersa en distintos artículos que tratan temas diferentes y de maneras diversas. ¿Quién tiene tiempo para revisar cientos de artículos?

Existen numerosas guías proporcionadas por expertos, líderes de la industria y las propias distribuciones. No es práctico, y en ocasiones infringe los derechos de autor, incluir todo el contenido de dichas guías. Recomiendo consultarlas antes de comenzar con esta guía.

El Centro para la Seguridad en Internet (CIS) proporciona estándares exhaustivos, instrucciones paso a paso y de confianza para la industria, para proteger diversas distribuciones de Linux. Consulte su página "Acerca de nosotros" para obtener más información. Recomiendo leer primero esta guía y LUEGO la guía del CIS. De esta manera, sus recomendaciones prevalecerán sobre cualquier información de esta guía.

Para obtener guías de seguridad y protección específicas para su distribución, consulte la documentación de su distribución.

Jul 9, 2026

GhostLock: vulnerabilidad del kernel de Linux con 15 años de antigüedad con exploit activo

Investigadores de Nebula Security han revelado GhostLock (CVE-2026-43499), una vulnerabilidad del kernel de Linux con 15 años de antigüedad que permite a cualquier usuario conectado obtener el control total de una máquina sin parchear.

El código vulnerable se ha incluido por defecto en prácticamente todas las distribuciones principales desde 2011. La vulnerabilidad no requiere permisos especiales, configuraciones inusuales ni acceso a la red; basta con llamadas a subprocesos desde cualquier programa local.

Nebula la convirtió en un exploit funcional con acceso de administrador, con una fiabilidad del 97% en sus pruebas, que además escapa de los contenedores. Google les otorgó 92.337 dólares a través de su programa de recompensas por errores kernelCTF.

Aunque no se tiene constancia de que nadie la esté explotando activamente, Nebula ha publicado el código del exploit, por lo que cualquiera puede ejecutarlo. La prioridad es aplicar los parches.

Cómo funciona la vulnerabilidad

El kernel cuenta con un sistema para evitar que una tarea urgente se quede bloqueada tras una tarea trivial. Parte del proceso consiste en una limpieza que finaliza una tarea una vez que deja de esperar.

Normalmente, esto funciona correctamente. Sin embargo, en un caso excepcional, cuando una operación de bloqueo se estanca y debe revertirse, la limpieza se ejecuta en el momento equivocado y borra el registro de la tarea incorrecta.

Este error deja al kernel con una "nota" que apunta a un fragmento de memoria que ya ha descartado y reutilizado. Confiar en ese puntero obsoleto es el origen del fallo, un tipo de error conocido como uso de memoria liberada. A partir de ahí, el equipo de Nebula encadenó varios pasos ingeniosos para convertir ese pequeño error en control total, logrando finalmente engañar al kernel para que ejecutara su propio código como el usuario "root". En su máquina de prueba, esto tardó unos cinco segundos.

La vulnerabilidad ha estado presente en Linux desde 2011 y se corrigió en abril. Las distribuciones ya están implementando el parche (3bfdc63936dd). Afecta a casi todas las versiones de Linux y tiene una puntuación de 7.8 sobre 10 (alta, no crítica) porque el atacante necesita estar previamente conectado a la máquina. Nebula la descubrió con VEGA, su herramienta de búsqueda de errores basada en IA.

Qué hacer

Instala el kernel actual de tu distribución, no solo la primera versión parcheada. La corrección original introdujo un error de bloqueo independiente (CVE-2026-53166), y la solución para este error aún se estaba implementando a principios de julio, por lo que las primeras versiones podrían no incluir la versión final.

No existe una solución definitiva, ya que las operaciones que la desencadenan son rutinarias para cualquier proceso local.

La disponibilidad es irregular hasta el momento. Ubuntu, por ejemplo, había parcheado su última versión y algunos kernels en la nube, pero a principios de julio aún mostraba las versiones 24.04, 22.04 y 20.04 LTS como vulnerables o en proceso de parcheo. Consulta el aviso de tu distribución y confirma la versión del paquete corregido en lugar de asumir que hay una disponible.

Dos opciones de compilación, RANDOMIZE_KSTACK_OFFSET y STATIC_USERMODE_HELPER, dificultan este exploit, pero son medidas de mitigación, no correcciones. Aplica el parche primero a las máquinas compartidas y multiusuario, servidores en la nube, contenedores y ejecutores de CI, donde es más probable que un atacante encuentre la vulnerabilidad que necesita.

GhostLock no es el único fallo de kernel a root este año. Se suma a una serie de fallos de escalamiento de privilegios en Linux de 2026, varios de los cuales comparten un detalle: fueron detectados por una herramienta automatizada.

VEGA detectó GhostLock. Días antes, los investigadores revelaron Bad Epoll (CVE-2026-46242), una vulnerabilidad similar que también convierte a un usuario sin privilegios en root. Se demostró su funcionamiento mediante kernelCTF y, a diferencia de otros tipos de fallos, funciona en Android.

Bad Epoll se encuentra en el mismo segmento de código donde se atribuyó una vulnerabilidad similar al modelo Mythos de Anthropic. Lo que comparten es una maquinaria del kernel antigua y muy utilizada que pocos habían revisado en años, hasta que las herramientas automatizadas comenzaron a combinarla. La herencia de prioridad de Futex data de 2011. Esta clase de vulnerabilidades no es teórica: otro fallo de 2026, Copy Fail (CVE-2026-31431), ya figura en la lista de vulnerabilidades de CISA detectadas en ataques reales.

GhostLock es también la segunda parte de una cadena que Nebula denomina IonStack. La primera parte, CVE-2026-10702, es un fallo de Firefox que ejecuta código dentro del navegador y escapa de su entorno aislado. GhostLock completa el proceso hasta obtener acceso root.

Nebula ya ha demostrado la cadena completa, desde un simple clic en un enlace malicioso hasta el control total, contra Firefox en Android. Por eso, un fallo del kernel que solo afecta al entorno local sigue siendo relevante: por sí solo, necesita un punto de acceso, pero combinado con una vulnerabilidad del navegador, se convierte en una intrusión remota. Nebula anuncia que próximamente publicará un informe completo sobre la vulnerabilidad en Android.

Fuente: THN

Jul 3, 2026

"Bad Epoll" permite a los usuarios sin privilegios obtener root en Linux y Android

Una falla del kernel de Linux recientemente revelada llamada Bad Epoll (CVE-2026-46242) permite a un usuario común y corriente sin acceso especial tomar el control total de una máquina como root. Afecta a los escritorios, servidores y Android de Linux, y ya existe una solución.

Bad Epoll se encuentra en el mismo pequeño tramo de código del kernel donde el modelo de IA más poderoso de Anthropic, Mythos, encontró recientemente un error diferente.

Epoll es una característica estándar de Linux que permite a un programa observar muchos archivos o conexiones de red a la vez. Los servidores, los servicios de red y los navegadores web se basan en él. No puedes simplemente apagarlo.

Jaeyoung Chung presentó la falla como un día cero al programa kernelCTF de Google, y los detalles técnicos completos se encuentran en su artículo público. No hay señales de que se haya utilizado en ataques reales: al momento de escribir este artículo, no está en la lista de vulnerabilidades explotadas conocidas de CISA, y el único código que funciona es la prueba de concepto de kernelCTF. Aún se está desarrollando una versión para Android del exploit.


Bad Epoll es un error de "uso después de la liberación". Dos partes del kernel intentan limpiar el mismo objeto interno al mismo tiempo. Uno libera la memoria mientras el otro sigue escribiendo en ella. Esa breve colisión permite que un atacante corrompa la memoria del kernel y luego pase de una cuenta normal a root.

El problema es el tiempo. La ventana donde chocan los dos caminos tiene sólo seis instrucciones de máquina de ancho, por lo que un intento aleatorio casi nunca aterriza en ella. El exploit amplía esa ventana y lo reintenta sin fallar, alcanzando root aproximadamente el 99% de las veces en los sistemas probados.

Dos cosas lo hacen más peligroso: según su cuenta, puede activarse desde dentro del entorno limitado de procesamiento de Chrome, que bloquea casi todos los demás errores del kernel, y puede llegar a Android, algo que la mayoría de los errores de privilegios de Linux no pueden.

Ambos errores se remontan a un único cambio de 2023 en el código epoll. Chung dice que Mythos encontró el primero de los dos, ahora rastreado como CVE-2026-43074, con un aterrizaje fijo a principios de 2026.

Anthropic ha dicho por separado que Mythos encontró errores de escalamiento de privilegios en el kernel de Linux, aunque no ha vinculado públicamente ese trabajo con Bad Epoll. Encontrar el primero fue un resultado real, porque los errores en las condiciones de carrera son notoriamente difíciles de detectar.

Epoll no se puede desactivar, por lo que no existe ninguna solución, se debe aplicar la actualización de su distribución cuando llegue. Los kernels creados con la versión 6.4 o posterior se ven afectados a menos que ya tengan la solución. Los kernels más antiguos basados ​​en 6.1, incluidos algunos teléfonos Android como el Pixel 8, no lo son, porque el error llegó en 6.4.

Fuente: THN

Jun 26, 2026

Pedit COW: nueva vulnerabilidad en Linux permite a los usuarios obtener root

Una nueva vulnerabilidad de Linux permite el acceso de administrador mediante la manipulación de binarios en caché. La vulnerabilidad en el subsistema de control de tráfico del kernel de Linux permite que un usuario local sin privilegios obtenga acceso de root en los sistemas afectados.

La vulnerabilidad CVE-2026-46331, apodado "pedit COW", permite a los usuarios locales obtener acceso de administrador en sistemas Linux afectados corrompiendo la memoria caché de páginas a través de act_pedit.

Esta vulnerabilidad es una escritura fuera de límites en la acción de edición de paquetes (act_pedit) que corrompe la memoria caché de páginas compartida. Un exploit público y funcional apareció apenas un día después de la asignación de la CVE, el 16 de junio. Red Hat considera esta vulnerabilidad importante.

El exploit nunca accede al archivo en disco. Envenena la copia en caché de un binario de root setuid (/bin/su) en memoria, inyecta una pequeña carga útil y ejecuta esa imagen modificada como root. Las comprobaciones de integridad de archivos no generan ningún problema mientras ya hay una shell de root abierta.

El exploit requiere dos condiciones: que act_pedit sea cargable y que los espacios de nombres de usuario sin privilegios estén abiertos, lo que otorga al atacante la capacidad de red local del espacio de nombres (CAP_NET_ADMIN) necesaria para activar el fallo.

En los sistemas RHEL y Debian probados, ambas condiciones estaban presentes.

Cómo funciona el error

La herramienta de control de tráfico tc de Linux puede reescribir las cabeceras de los paquetes en tránsito mediante una acción llamada pedit. La función del kernel que realiza esta acción, tcf_pedit_act(), debería crear una copia privada de los datos antes de editarlos, siguiendo el patrón estándar de copia en escritura.

Se verifica el rango de escritura una sola vez, antes de conocerse los desplazamientos finales. Algunas claves de edición solo resuelven su desplazamiento en tiempo de ejecución. Cuando esto sucede, la escritura se produce fuera de la región copiada privadamente, por lo que el kernel modifica una página de la caché de páginas compartida en lugar de una copia privada. Si esa página pertenece a un archivo en caché, la imagen en memoria del archivo se corrompe.

El patrón es conocido. Dirty Pipe, Copy Fail, Dirty Clone y Dirty Frag comparten la misma estructura: una ruta rápida del kernel escribe en una página que no le pertenece exclusivamente, y la caché de páginas sufre la penalización.

La novedad reside en el punto de entrada. Un usuario sin privilegios puede configurar las acciones de tc desde dentro de un espacio de nombres de usuario, lo que le otorga el CAP_NET_ADMIN que necesita el exploit.

Sistemas afectados

El autor de la prueba de concepto informó de una explotación de usuario sin privilegios a root en RHEL 10 y Debian 13 (trixie), donde los espacios de nombres de usuario sin privilegios están abiertos por defecto. Ubuntu 24.04 requería enrutar la ejecución a través de perfiles de AppArmor que aún permitían espacios de nombres de usuario. Ubuntu 26.04 bloquea esta ruta por defecto, ya que sus perfiles de AppArmor restringen los espacios de nombres de usuario sin privilegios, aunque el kernel subyacente sigue siendo vulnerable.

Las correcciones varían según el proveedor.

  • Debian ha corregido trixie a través de su canal de seguridad. Debian 11 y 12 siguen figurando como vulnerables.
  • Ubuntu enumera las versiones compatibles desde la 18.04 hasta la 26.04 como vulnerables a fecha de 25 de junio.
  • Red Hat enumera RHEL 8, 9 y 10 como afectadas; RHEL 7 no aparece en el boletín.

Qué hacer

Instalar el kernel parcheado y reiniciar. Priorizar los sistemas donde "usuario local" no significa usuario de confianza: hosts multiusuario, ejecutores de CI/CD, nodos de Kubernetes, trabajadores de compilación y máquinas compartidas de investigación o laboratorio.

Si aún no puedes aplicar el parche, existen dos medidas para interrumpir la cadena de explotación. En sistemas que no requieren reglas de `tc pedit`, verifica si el módulo está en uso:

lsmod | grep act_pedit
echo 'install act_pedit /bin/true' | sudo tee /etc/modprobe.d/disable-act_pedit.conf`

Como alternativa, desactivar los espacios de nombres de usuario sin privilegios (user.max_user_namespaces=0 en RHEL, kernel.unprivileged_userns_clone=0 en Debian/Ubuntu). Esto elimina la capacidad de acceso local al espacio de nombres que necesita la explotación, pero afecta a los contenedores sin privilegios de root, a algunos entornos aislados de CI y a los navegadores aislados. Realiza pruebas antes de comenzar.

Dado que la sobrescritura se realiza en la memoria caché, es posible que las comprobaciones de integridad de archivos no la detecten. Se puede vaciar la caché de páginas:

echo 3 > /proc/sys/vm/drop_caches

Con esto se borra la copia en memoria infectada, pero no se soluciona el problema de la shell de root que el atacante ya había abierto. Se debe considerar el host como comprometido.

La solución se publicó en la lista de correo de netdev a finales de mayo, presentada como un parche rutinario para la corrupción de datos. El detalle explotable permaneció en una lista de correo pública durante semanas. Se incluyó en la advertencia de seguridad CVE. La CVE se asignó cuando se integró la solución el 16 de junio. La prueba de concepto con potencial de explotación se publicó al día siguiente. Para los errores de corrupción de la caché de páginas del kernel, esperar a que se complete una regla de escaneo es demasiado lento.

Aquí hay un repositorio para validarlo.

Fuente: THN

Jun 13, 2026

Más de 400 paquetes en el repositorio Arch Linux distribuyen un rootkit y un troyano

ç

Más de 400 paquetes en el Repositorio de Usuarios de Arch (AUR) distribuyen un rootkit de Linux y malware de robo de información que ataca credenciales y tokens de acceso.

Un informe de la comunidad de inteligencia de código abierto Independent Federated Intelligence Network (IFIN) señala que un nuevo mantenedor está suplantando la identidad de un editor de confianza en la plataforma AUR para distribuir paquetes infectados.

La distribución Arch Linux es popular entre usuarios avanzados y desarrolladores, quienes utilizan el catálogo AUR para obtener las últimas versiones del software instalado, los controladores y el kernel.

Importante: esto solo afecta a los paquetes del repositorio de usuarios (AUR). Los paquetes oficiales de Arch Linux no se han visto comprometidos en ningún momento.

AUR es un repositorio mantenido por la comunidad para la distribución Arch que contiene scripts de compilación de paquetes (PKGBUILD) con instrucciones para descargar, compilar e instalar software no disponible en los repositorios oficiales de Arch.

AUR se considera esencial para cualquier distribución basada en Arch porque contiene aplicaciones propietarias, versiones beta/nightly de software de código abierto, utilidades especializadas y versiones antiguas de paquetes que conservan funcionalidades que podrían haber sido eliminadas en versiones posteriores.

Sin embargo, no se trata de un espacio verificado, y los ciberdelincuentes pueden usarlo para distribuir malware a través de paquetes que cambian de propietario sin que nadie se dé cuenta.

Según Michael Taggart, miembro de IFIN, los paquetes comprometidos se modifican con scripts de preinstalación que descargan y ejecutan un paquete npm malicioso llamado atomic-lockfile.

El investigador de seguridad independiente Whanos señala que una muestra de atomic-lockfile incluía una carga útil ELF de Linux llamada deps, que era un "ladrón de credenciales con capacidades de rootkit eBPF (filtro de paquetes Berkeley extendido) opcionales solo para root. Está diseñado para estaciones de trabajo de desarrolladores y entornos de compilación. Su objetivo son los datos de navegadores y aplicaciones Electron, Slack, Microsoft Teams, Discord, GitHub, npm, Vault, Docker/Podman, SSH, material de VPN, historiales de shell y otros secretos locales de desarrolladores", afirma Whanos en el informe.

Gracias a la tecnología eBPF, el malware puede ejecutarse dentro del kernel con privilegios elevados y ocultar procesos locales.

La empresa de gestión de la cadena de suministro Sonatype también publicó un informe sobre una campaña dirigida al repositorio AUR y que distribuía el paquete malicioso atomic-lockfile de npm, pero utilizando un método diferente. Los investigadores de Sonatype afirman que el atacante secuestró al menos 20 paquetes huérfanos en AUR e distribuyó atomic-lockfile modificando el archivo PKGBUILD, un script de Bash con la información de compilación necesaria para los paquetes de Arch Linux.

Según el informe, el atacante añadió un script posterior a la instalación para invocar npm y descargar el paquete malicioso. "Los paquetes modificados añaden un script posterior a la instalación que invoca npm e instala atomic-lockfile durante la instalación del paquete", explica Sonatype.

Sin embargo, el análisis reveló que el paquete npm instalaba un ejecutable de Linux con referencias a un rootkit eBPF capaz de ocultar procesos, archivos e interfaces de red. Además, el binario de Linux indica que posee funcionalidad de robo de información, dirigida a los siguientes tipos de información confidencial:

  • Credenciales de GitHub
  • Archivos SSH
  • Tokens de HashiCorp Vault
  • Bases de datos de cookies del navegador
  • Datos de Slack
  • Datos de Discord
  • Datos de Microsoft Teams
  • Datos de Telegram

Sonatype determinó que el binario puede archivar datos, manejar archivos multipartes y realizar cargas HTTP, por lo que cuenta con la funcionalidad necesaria para un mecanismo típico de exfiltración de datos.

Los responsables de AUR están trabajando para identificar y eliminar todas las confirmaciones maliciosas y bloquear las cuentas que las distribuyen. En un mensaje a la comunidad, Jonathan Grotelüschen, responsable del paquete Arch Linux, instó a los usuarios a reportar cualquier paquete malicioso que encuentren.

Como regla general, se recomienda confiar únicamente en proyectos con actualizaciones frecuentes y una comunidad activa. Se aconseja a los usuarios de Arch que revisen la lista de paquetes afectados y busquen los indicadores de compromiso que se mencionan en el informe de Whanos.

Fuente: BC

Jun 9, 2026

Vulnerabilidad de un solo caracter en el kernel de Linux permite el acceso de root

La vulnerabilidad, identificada como CVE-2026-23111, reside en el código de filtrado de paquetes nf_tables del kernel y fue corregida el 5 de febrero de 2026. Exodus Intelligence publicó su análisis técnico completo el 8 de junio, y cabe destacar que no es el primer exploit público: FuzzingLabs publicó una reproducción independiente en abril.

La vulnerabilidad se reduce a un solo carácter erróneo y una comprobación invertida en nf_tables, y la corrección implementada en el kernel la eliminó en una sola línea. Ubuntu califica la vulnerabilidad con CVSS 7.8 (alto).

La configuración vulnerables es común: nf_tables más espacios de nombres de usuario sin privilegios, una característica de Linux que permite que una cuenta ordinaria actúe como root dentro de un entorno aislado privado y acceda a código del kernel al que de otro modo no podría acceder.

Ambas características vienen incluidas por defecto en la mayoría de los equipos de escritorio y en muchas configuraciones de servidor. No existe un vector de ataque remoto por sí sola. Se trata de una vulnerabilidad que un atacante explota tras obtener acceso, convirtiendo una shell con pocos privilegios, un contenedor comprometido o una cuenta de servicio en root en el host.

Oliver Sieber, investigador de Exodus, quien descubrió la vulnerabilidad a principios de 2025, la convirtió en un root local completo. El exploit activa el uso de memoria liberada (use-after-free), elude las protecciones de memoria integradas del kernel y, posteriormente, toma el control de la ejecución para obtener root y salir del espacio de nombres del contenedor.

Lo demostró en Debian Bookworm, Debian Trixie, Ubuntu 22.04 LTS y Ubuntu 24.04 LTS. FuzzingLabs reprodujo el fallo en RHEL 10 antes de Pwn2Own Berlin 2026, creando su propio exploit de root por una ruta diferente. El cronograma es ajustado: la solución se publicó el 5 de febrero, FuzzingLabs publicó el 16 de abril y el informe detallado de Exodus se publicó el 8 de junio.

La técnica ahora está documentada en Debian, Ubuntu y Red Hat. Dado que el fallo se encuentra en la rama principal, cualquier distribución que haya distribuido un kernel vulnerable con ambas características habilitadas está expuesta, a menos que las medidas de seguridad o las restricciones de espacio de nombres de la distribución bloqueen el acceso.

CVE-2026-23111 se produce en medio de una intensa oleada de divulgaciones de vulnerabilidades de root local en Linux. En las últimas semanas han surgido Copy Fail, la cadena Dirty Frag, su variante Fragnesia, DirtyDecrypt y una vulnerabilidad de ptrace de nueve años de antigüedad que lee /etc/shadow y ejecuta comandos como root.

Difieren en los detalles, pero comparten la característica que debería preocupar a los expertos en seguridad: un punto de acceso sin privilegios se convierte en root en instalaciones normales.

El error solo afecta al sistema local y requiere espacios de nombres de usuario sin privilegios, por lo que conviene centrarse primero en los sistemas que permiten que usuarios o cargas de trabajo no confiables los creen.

Ubuntu tiene correcciones para las versiones 22.04, 24.04 y 25.10, y Debian corrigió Bookworm y Trixie, con una retrocompatibilidad para Bullseye LTS 6.1. Red Hat, SUSE y Amazon Linux también monitorean la vulnerabilidad; consulte el aviso de su distribución para obtener el paquete del kernel correspondiente, ya que la versión corregida exacta varía. La corrección original consistió en una sola línea de código.

Hay un panorama más amplio. En un análisis reciente del aumento de vulnerabilidades LPE, Synacktiv vincula la rapidez de este aumento con la investigación asistida por IA y la comparación de parches, que permite la propagación de exploits funcionales antes de que se difundan las correcciones. Además, argumenta que el endurecimiento habitual de los sistemas sigue dando tiempo a los defensores.

La mayoría de estas vulnerabilidades se basan en funciones opcionales del kernel o configuraciones predeterminadas poco estrictas, por lo que restringir el acceso de usuarios sin privilegios (en este caso, los espacios de nombres de usuario) retrasa la explotación hasta que se implemente el parche.

No existen informes públicos de explotación en la práctica, ni se ha vinculado a ningún actor malicioso con ella. El parche se publicó en febrero, y el código del exploit es público desde abril.

Fuente: THN


Jun 2, 2026

CIFSwitch: vulnerabilidad del kernel de Linux de 19 años de antigüedad expone sistemas al acceso de root

Se ha publicado código de prueba de concepto (PoC) para la vulnerabilidad CIFSwitch, que permite a usuarios con pocos privilegios obtener acceso de root en sistemas Linux vulnerables.

Una vulnerabilidad del kernel de Linux de 19 años de antigüedad, denominada CIFSwitch, permite a usuarios con pocos privilegios obtener acceso de root a través del subsistema CIFS y la utilidad cifs-utils. La vulnerabilidad surge de que el kernel no valida el origen de una llamada a request_key, lo que permite a los atacantes eludir las restricciones y ejecutar código arbitrario como root.

CIFSwitch (CVE-2026-46243) es una vulnerabilidad de explotación local , descubierta mediante el uso de modelos de lógica de bajo nivel (LLM). El problema afecta a varias distribuciones de Linux, en particular a aquellas con cifs-utils instalado por defecto. Las principales distribuciones han publicado parches y se ha publicado código de prueba de concepto para facilitar la validación. Algunas distribuciones de Linux Mint, CentOS, Rocky Linux, Kali Linux, AlmaLinux y SLES SAP que tienen cifs-utils instalado por defecto son vulnerables. Algunas distribuciones son vulnerables solo si cifs-utils se instaló manualmente.

El aviso ya es público para que los propietarios de los sistemas afectados puedan aplicar el parche o implementar otras medidas de mitigación. Las principales distribuciones de Linux lanzaron correcciones para este defecto de seguridad. Asim Viladi Oglu Manizada ha publicado código de prueba de concepto (PoC) para ayudar a los defensores a "validar parches, mitigaciones, detecciones y exposición".

CIFSwitch afecta al subsistema CIFS del kernel de Linux y a la utilidad de espacio de usuario cifs-utils que utiliza para gestionar la autenticación. CIFS gestiona partes del protocolo del sistema de archivos de red SMB, como el montaje de recursos compartidos, las operaciones de lectura/escritura y la comunicación SMB con el servidor.

Al autenticar un montaje, el subsistema envía una solicitud request_key para obtener una clave cifs.spnego. Esta solicitud verifica la clave en el espacio de usuario y llama a cifs.upcall como administrador para analizar la descripción de la clave, que contiene campos como UID, PID, caché de credenciales y espacio de nombres.

Según Asim Viladi Oglu Manizada, ingeniero de seguridad de SpaceX, el kernel no verifica el origen de la solicitud ni la descripción de la clave, lo que permite a un atacante llamar directamente a la función `request_key` y proporcionar sus propios campos de descripción de clave, eludiendo así el origen de CIFS. Dado que `cifs.upcall` se llama como root, el proceso auxiliar cambia a los espacios de nombres del PID proporcionado en la descripción de clave modificada, otorgando al atacante acceso de root.

Además, durante la operación, antes de que se reduzcan los privilegios, el proceso auxiliar también realiza una búsqueda de cuenta, que pasa por el Name Service Switch (NSS) y habilita la carga de módulos NSS.

El atacante puede aprovechar esta vulnerabilidad colocando un archivo de configuración NSS falso y un módulo NSS en su espacio de nombres, lo que provoca que el proceso auxiliar cargue el código controlado por el atacante como root, explica Manizada.

Según el ingeniero, la vulnerabilidad se puede resolver considerando legítimas las descripciones de claves solo cuando CIFS utiliza su spnego_cred privado, e implementando medidas de seguridad en el espacio de usuario para verificar si la descripción de la clave es generada por el kernel.

Muchas distribuciones de Ubuntu, Fedora, CentOS, Rocky Linux, AlmaLinux, Oracle Linux, openSUSE y SLES bloquean la ruta de ejecución por defecto, mientras que Amazon Linux 2 KVM y Kali Linux 2019.4/2020.4 no se ven afectadas.

Fuente: THN

May 25, 2026

Escalamiento de privilegios local en el kernel de Linux, permite filtrar claves SSH y hashes de contraseñas

Se ha descubierto una vulnerabilidad lógica de nueve años de antigüedad en la ruta de rastreo de procesos (ptrace) del kernel de Linux que podría permitir a usuarios locales sin privilegios leer archivos confidenciales, incluidas las claves privadas de host de shell seguro (SSH) y el hash de la contraseña del sistema, en instalaciones predeterminadas de Debian, Fedora y Ubuntu.

Según el análisis de la Unidad de Investigación de Amenazas (TRU) de Qualys, la vulnerabilidad, identificada como CVE-2026-46333, ha estado presente en la rama principal de Linux desde noviembre de 2016. Hay parches disponibles y actualizaciones de distribución, y circulan públicamente exploits funcionales.

Esta vulnerabilidad es el quinto problema de seguridad local del kernel de Linux revelado en tres semanas, tras Copy Fail, Dirty FragFragnesia y DirtyCBC.

El error reside en la función __ptrace_may_access() del kernel. Qualys identificó una ventana de tiempo limitada durante la cual un proceso privilegiado que está descartando sus credenciales permanece accesible mediante operaciones ptrace, incluso cuando su bandera de volcado debería haber cerrado esa ruta.

Al combinar esta ventana con la llamada al sistema pidfd_getfd(), un atacante puede capturar descriptores de archivo de un binario setuid durante su salida y heredar su acceso a los archivos subyacentes. pidfd_getfd() se añadió al kernel en enero de 2020, lo que amplió el alcance práctico de la vulnerabilidad anterior.

La prueba de concepto (PoC) desarrollada por Qualys se dirige a ssh-keysign, un binario setuid que mantiene abiertas brevemente las claves privadas del host SSH durante la firma de autenticación. Una segunda variante se dirige a chage, robando el identificador abierto de /etc/shadow y exponiendo el hash de la contraseña de cada usuario en el host.

Qualys también desarrolló exploits funcionales contra pkexec y accounts-daemon, pero no los hizo públicos durante el período de divulgación coordinada. Saeed Abbasi afirmó que la técnica "convierte cualquier shell local en una vía de acceso a root o a información confidencial".

Los cuatro exploits desarrollados por Qualys abarcan diversos impactos. Los exploits chage y ssh-keysign permiten la divulgación de información, mientras que pkexec y accounts-daemon permiten al atacante ejecutar comandos arbitrarios como root.

CVSS calificó el fallo con un 5.5, pero Qualys argumentó que la distinción entre un acceso no privilegiado y el compromiso total del sistema se desvanece en la práctica, ya que los archivos divulgados por sí solos son suficientes para tomar el control del sistema.

El perfil de riesgo es más pronunciado en entornos donde las shells sin privilegios están disponibles habitualmente para terceros no confiables, como en alojamientos compartidos y ejecutores de CI multiusuario.

Los administradores deben aplicar la actualización del kernel del proveedor para su distribución sin demora. Como medida provisional, tanto Ubuntu como Qualys recomiendan aumentar el valor de `kernel.yama.ptrace_scope` a 2 mediante `sysctl`, lo que restringe la conexión de ptrace a CAP_SYS_PTRACE y bloquea la ruta de explotación pública, aunque esto interrumpe los flujos de trabajo de depuración sin privilegios.

Fuente: InfoSecurity-Magazine

May 18, 2026

(Otro) escalamiento local en Linux (DirtyDecrypt / DirtyCBC)

Una nueva vulnerabilidad de escalamiento de privilegios local recientemente corregida en el módulo rxgk del kernel de Linux ahora cuenta con una prueba de concepto que permite a los atacantes obtener acceso de root en algunos sistemas Linux.

Esta falla de seguridad, denominada DirtyDecrypt y también conocida como DirtyCBC, fue descubierta y reportada de forma autónoma por el equipo de seguridad de V12 a principios de este mes, cuando los responsables del proyecto les informaron que se trataba de una vulnerabilidad duplicada que ya había sido corregida en la rama principal.

"Encontramos y reportamos esta vulnerabilidad el 9 de mayo de 2026, pero los responsables del proyecto nos informaron que era una vulnerabilidad duplicada", declaró V12. "Se trata de una escritura en la caché de páginas de rxgk debido a la falta de protección COW en rxgk_decrypt_skb. Consulte poc.c para obtener más detalles".

Aunque no existe un identificador CVE oficial asociado a esta vulnerabilidad, según Will Dormann (analista principal de vulnerabilidades en Tharros), la información de los investigadores de seguridad coincide con los detalles de CVE-2026-31635, que se corrigió el 25 de abril.

Para explotar con éxito esta vulnerabilidad, es necesario ejecutar un kernel de Linux con la opción de configuración CONFIG_RXGK, que habilita la compatibilidad con la seguridad RxGK para el cliente y el transporte de red del Sistema de Archivos Andrew (AFS).

Esto limita la superficie de ataque a las distribuciones de Linux que siguen de cerca las últimas versiones del kernel, como Fedora, Arch Linux y openSUSE Tumbleweed. Sin embargo, la prueba de concepto de la vulnerabilidad V12 solo se ha probado en Fedora y en el kernel principal de Linux.

DirtyDecrypt pertenece a la misma clase de vulnerabilidad que otras fallas de escalada de privilegios de root reveladas en las últimas semanas, como Dirty Frag, Fragnesia y Copy Fail.

Se recomienda a los usuarios de Linux en distribuciones potencialmente afectadas por DirtyDecrypt que instalen las últimas actualizaciones del kernel lo antes posible.

Sin embargo, quienes no puedan actualizar sus dispositivos de inmediato deben usar la misma solución que se utilizó para Dirty Frag (aunque esto también afectará a las VPN IPsec y a los sistemas de archivos de red distribuidos AFS).

sh -c "printf 'install esp4 /bin/false\ninstall esp6 /bin/false\ninstall rxrpc /bin/false\n' > /etc/modprobe.d/dirtyfrag.conf;
rmmod esp4 esp6 rxrpc 2>/dev/null; echo 3 > /proc/sys/vm/drop_caches; true"

Estas revelaciones se producen tras informes recientes que indican que los atacantes están explotando activamente la vulnerabilidad Copy Fail.

La Agencia de Seguridad de Infraestructura y Ciberseguridad (CISA) añadió Copy Fail a su lista de vulnerabilidades explotadas en ataques el 1 de mayo y ordenó a las agencias federales que protegieran sus dispositivos Linux en un plazo de dos semanas, antes del 15 de mayo.

En abril, las distribuciones de Linux lanzaron parches para otra vulnerabilidad de escalamiento de privilegios de root (conocida como Pack2TheRoot) en el demonio PackageKit, que había pasado desapercibida durante casi 12 años.

 Fuente: BC

May 14, 2026

Fragnesia: (otra) vulnerabilidad de escalamiento de privilegios local en Linux

Fragnesia es una vulnerabilidad universal de escalamiento de privilegios local en Linux, descubierta por el investigador William Bowling, del equipo de seguridad V12. Fragnesia pertenece a la clase de vulnerabilidades Dirty Frag. Se trata de un error distinto en ESP/XFRM que ya cuenta con su propio parche. Sin embargo, se encuentra en la misma superficie y la mitigación es la misma que para Dirty Frag.

Aprovecha un error lógico en el subsistema XFRM ESP-in-TCP de Linux para realizar escrituras arbitrarias de bytes en la caché de páginas del kernel de archivos de solo lectura, sin necesidad de ninguna condición de carrera.

"La vulnerabilidad permite a atacantes locales sin privilegios modificar el contenido de archivos de solo lectura en la caché de páginas del kernel y obtener privilegios de superusuario mediante una técnica de corrupción determinista de la caché de páginas", declaró Wiz, propiedad de Google.

Varias distribuciones de Linux han publicado avisos de seguridad.

"Se trata de un fallo distinto en el ESP/XFRM, diferente de Dirty Frag, que ya cuenta con su propio parche", afirmó V12. Sin embargo, se encuentra en la misma superficie y la mitigación es la misma que para Dirty Frag. Explota un error lógico en el subsistema XFRM ESP-in-TCP de Linux para lograr escrituras arbitrarias de bytes en la caché de páginas del kernel de archivos de solo lectura, sin requerir ninguna condición de carrera.

Fragnesia es similar a Copy Fail y Dirty Frag (también conocido como Copy Fail 2) en que otorga acceso de administrador inmediatamente en todas las distribuciones principales al lograr una primitiva de escritura en memoria en el kernel y corromper la memoria caché de páginas del binario /usr/bin/su. V12 ha publicado una prueba de concepto (PoC) del exploit.

"Los clientes que ya hayan aplicado la mitigación de Dirty Frag no necesitan hacer nada más hasta que se publiquen los kernels parcheados", dijeron los responsables de CloudLinux. Red Hat indicó que está realizando una evaluación para confirmar si las mitigaciones existentes se extienden a CVE-2026-46300.

Wiz también señaló que las restricciones de AppArmor en los espacios de nombres de usuario sin privilegios podrían servir como una mitigación parcial, requiriendo elusión adicional para una explotación exitosa. Sin embargo, a diferencia de Dirty Frag, no se requieren privilegios a nivel de host.

"Hay un parche disponible y, si bien no se ha observado ninguna explotación en la práctica hasta el momento, instamos a los usuarios y organizaciones a aplicarlo lo antes posible mediante las herramientas de actualización", declaró Microsoft. "Si no es posible aplicar el parche en este momento, considere aplicar las mismas medidas de mitigación que para Dirty Frag".

Esto incluye deshabilitar esp4, esp6 y la funcionalidad xfrm/IPsec relacionada, restringir el acceso innecesario a la consola local, reforzar la seguridad de las cargas de trabajo en contenedores y aumentar la monitorización de la actividad anómala de escalada de privilegios.

Fuente: Fragnesia

May 11, 2026

Puertas traseras y troyanos para Linux roban credenciales y afectan la cadena de suministro

PamDOORa: Backdoor para Linux

Investigadores de ciberseguridad han revelado detalles de una nueva puerta trasera para Linux llamada PamDOORa, que un actor malicioso conocido como "darkworm" anuncia en el foro ruso de ciberdelincuencia Rehub por 1600 dólares.

Esta puerta trasera está diseñada como un kit de herramientas de post-explotación basado en el Módulo de Autenticación Conectable (PAM) que permite el acceso persistente a SSH mediante una contraseña mágica y una combinación específica de puerto TCP. También es capaz de obtener las credenciales de todos los usuarios legítimos que se autentiquen a través del sistema comprometido.

"La herramienta, llamada PamDOORa, es una nueva puerta trasera basada en PAM, diseñada para funcionar como puerta trasera de post-explotación, permitiendo la autenticación en servidores a través de OpenSSH", afirmó Assaf Morag, investigador de Flare.io, en un informe técnico. "Supuestamente, permanecería activa en sistemas Linux (x86_64)".

PamDOORa es la segunda puerta trasera para Linux que ataca la pila PAM, después de Plague. PAM es un marco de seguridad en los sistemas operativos Unix/Linux que permite a los administradores de sistemas incorporar o actualizar múltiples mecanismos de autenticación (por ejemplo, pasando de contraseñas a datos biométricos) en un sistema existente mediante módulos conectables, sin necesidad de reescribir las aplicaciones existentes.

Dado que los módulos PAM suelen ejecutarse con privilegios de administrador, un módulo comprometido, mal configurado o malicioso puede introducir riesgos de seguridad significativos y abrir la puerta al robo de credenciales y al acceso no autorizado.

"A pesar de sus ventajas, la modularidad del Módulo de Autenticación Conectable (PAM) introduce riesgos, ya que las modificaciones maliciosas de los módulos PAM pueden crear puertas traseras o robar credenciales de usuario, especialmente porque PAM no almacena contraseñas, sino que transmite valores en texto plano", señaló Group-IB en septiembre de 2024.

Quasar Linux roba credenciales de desarrolladores para comprometer la cadena de suministro de software.

Un implante de Linux hasta ahora desconocido, con nombre en clave Quasar Linux RAT (QLNX), ataca los sistemas de los desarrolladores para establecer una presencia silenciosa y facilitar una amplia gama de funcionalidades posteriores a la intrusión, como la obtención de credenciales, el registro de pulsaciones de teclas, la manipulación de archivos, la monitorización del portapapeles y la creación de túneles de red.

"QLNX ataca las credenciales de desarrolladores y de DevOps en toda la cadena de suministro de software", afirmaron los investigadores de Trend Micro, Aliakbar Zahravi y Ahmed Mohamed Ibrahim, en un análisis técnico del malware.

Su recolector de credenciales extrae información confidencial de archivos de alto valor como .npmrc (tokens de npm), .pypirc (credenciales de PyPI), .git-credentials, .aws/credentials, .kube/config, .docker/config.json, .vault-token, credenciales de Terraform, tokens de GitHub CLI y archivos .env. La vulneración de estos recursos podría permitir al atacante distribuir paquetes maliciosos a los registros de NPM o PyPI, acceder a la infraestructura en la nube o manipular los flujos de trabajo de CI/CD.

La capacidad del malware para recopilar sistemáticamente una amplia gama de credenciales representa un grave riesgo para los entornos de desarrollo. Un atacante que implemente QLNX con éxito contra el mantenedor de un paquete obtiene acceso no autorizado a su canalización de publicación, lo que le permite distribuir versiones infectadas que pueden provocar una cascada de consecuencias negativas.

QLNX se ejecuta sin archivos desde la memoria, se hace pasar por un hilo del kernel (por ejemplo, kworker o ksoftirqd) y es capaz de perfilar el host para detectar entornos en contenedores, borrar los registros del sistema para ocultar rastros y establecer persistencia mediante al menos siete métodos diferentes, incluyendo systemd, crontab e inyección de shell en .bashrc.

Además, extrae los datos recopilados a una infraestructura controlada por el atacante y recibe comandos que permiten ejecutar comandos de shell, gestionar archivos, inyectar código en procesos, tomar capturas de pantalla, registrar pulsaciones de teclas, establecer proxies SOCKS y túneles TCP, ejecutar archivos de objeto Beacon (BOF) e incluso gestionar una red mallada peer-to-peer (P2P).

Se desconoce la forma exacta en que se distribuye el malware. Sin embargo, una vez establecido el acceso, entra en una fase operativa primaria ejecutando un bucle persistente que intenta continuamente establecer y mantener comunicación con el servidor de comando y control (C2) a través de TCP, HTTPS y HTTP sin cifrar. En total, QLNX admite 58 comandos distintos que otorgan a los operadores control total del host comprometido.

QLNX también incluye una puerta trasera de gancho en línea para el Módulo de Autenticación Conectable (PAM) que intercepta las credenciales en texto plano durante los eventos de autenticación, registra los datos de la sesión SSH saliente y los transmite al servidor C2. El malware también admite un segundo registrador de credenciales basado en PAM que se carga automáticamente en cada proceso vinculado dinámicamente para extraer el nombre del servicio, el nombre de usuario y el token de autenticación.

Emplea una arquitectura de rootkit de dos niveles: un rootkit en espacio de usuario desplegado a través del mecanismo LD_PRELOAD del enlazador dinámico de Linux para garantizar que los artefactos y procesos del implante permanezcan ocultos. También existe un componente eBPF a nivel de kernel que utiliza el subsistema BPF para ocultar procesos, archivos y puertos de red a herramientas estándar de espacio de usuario como ps, ls y netstat al recibir instrucciones del servidor C2.

Fuente: THN I | THN II

May 7, 2026

Dirty Frag: (otra) vulnerabilidad de escalamiento local en el Kernel de Linux

Dirty Frag es una nueva vulnerabilidad descubierta y reportada por el investigador coreano Hyunwoo Kim (@v4bel) que permite a un usuario sin privilegios obtener una shell de root en la mayoría de las distribuciones Linux modernas. Fue divulgada públicamente el 7 de mayo de 2026, en parte forzada por una tercera parte que la filtró antes de que todos los parches estuvieran listos.

En el momento de publicación de esta advertencia, ninguna de las distribuciones populares de Linux ha proporcionado aún actualizaciones que contengan el parche de seguridad. Recomendamos implementar una mitigación temporal desactivando los módulos esp4, esp6 y rxrpc.

La vulnerabilidad combina dos fallas independientes del kernel de Linux para lograr escritura arbitraria sobre la caché de páginas de archivos de solo lectura críticos del sistema, como /etc/passwd o /usr/bin/su, sin necesidad de conocer ninguna clave criptográfica.

Linaje: Dirty Pipe, Copy Fail y Dirty Frag

Para entender Dirty Frag, es imprescindible conocer a sus predecesoras.

  • Dirty Pipe (CVE-2022-0847), descubierta en 2022, demostró que era posible sobreescribir archivos de solo lectura en Linux a través de una condición de carrera en las estructuras internas de los pipes del kernel (struct pipe_buffer). Fue una de las vulnerabilidades más impactantes de los últimos años.
  • La reciente Copy Fail, la hermana menos conocida, refinó el concepto: en lugar de atacar pipe_buffer, atacó los scatter-gather lists del subsistema de criptografía del kernel (AF_ALG), logrando escritura sobre páginas de caché a través de operaciones AEAD in-place.

Dirty Frag reproduce exactamente el mismo patrón, pero esta vez el vector de ataque son los fragmentos (frags) de los socket buffers no lineales (struct sk_buff) que se originan de una llamada splice().

El nombre no es accidental: "frag" refiere al campo frag del sk_buff, análogo al pipe_buffer de Dirty Pipe.

Distribuciones afectadas

Este fragmento de vulnerabilidad se ha probado en las siguientes versiones de distribución:

  • Ubuntu 24.04.4: 6.17.0-23-generic
  • RHEL 10.1: 6.12.0-124.49.1.el10_1.x86_64
  • openSUSE Tumbleweed: 7.0.2-1-default
  • CentOS Stream 10: 6.12.0-224.el10.x86_64
  • AlmaLinux 10: 6.12.0-124.52.3.el10_1.x86_64
  • Fedora 44: 6.19.14-300.fc44.x86_64
  • ...

Mitigación

Debido a que se ha incumplido el calendario de divulgación responsable, no existe ningún parche oficial para ninguna distribución. Se deben utilizar los siguiente comando para eliminar los módulos que contienen las vulnerabilidades.

sudo tee /etc/modprobe.d/dirtyfrag.conf >/dev/null <<'EOF'
  install esp4 /bin/false
  install esp6 /bin/false
  install rxrpc /bin/false
EOF

Eliminar los módulos:

sudo modprobe -r esp4 esp6 rxrpc 2>/dev/null || true

Verificar con:

cat /etc/modprobe.d/dirtyfrag.conf

El resultado esperado es:

install esp4 /bin/false
install esp6 /bin/false
install rxrpc /bin/false

En algunos casos, probablemente sea necesario reiniciar.

Estas directivas indican que, en lugar de cargar ese módulo, se ejecute /bin/false (que simplemente retorna error). Es decir que, se impide que esos módulos se carguen automáticamente en el futuro, incluso si algún proceso los solicita.

El concepto central: criptografía sobre páginas "prestadas"

El corazón de Dirty Frag se puede explicar en términos simples:

  • splice() es una llamada al sistema que permite mover datos entre descriptores de archivo sin copiarlos en espacio de usuario. Cuando un proceso hace splice() de un archivo a un socket, el kernel toma una referencia directa a la página de caché del archivo y la planta en el buffer de transmisión del socket. El proceso que hizo el splice() solo tiene permiso de lectura sobre ese archivo, pero la página de caché ahora vive dentro del buffer de red.
  • El problema ocurre cuando el subsistema de red, al recibir ese paquete en el lado receptor, realiza una operación criptográfica directamente sobre esa misma página, modificándola en memoria. Como la página de caché es compartida entre el archivo en disco y todos los procesos que lo lean, todos los lectores posteriores verán la versión modificada, sin que haya ninguna escritura en disco.

El impacto es permanente en RAM hasta que se limpia la caché o se reinicia el sistema. El atacante puede reemplazar el contenido de archivos protegidos del sistema operativo.

Las dos vulnerabilidades que componen Dirty Frag

Variante 1 — xfrm-ESP Page-Cache Write (requiere namespace de usuario)

XFRM es el framework de IPsec del kernel de Linux. Cuando llega un paquete ESP (Encapsulating Security Payload), la función esp_input() debe, ante un buffer no lineal, crear una copia privada de los datos antes de aplicar criptografía. Sin embargo, existe una rama de código que salta ese paso de copia cuando el buffer tiene fragmentos pero no tiene una frag list.

El resultado: la operación de descifrado AEAD se ejecuta directamente sobre la página de caché plantada por splice(). Peor aún, parte del preprocesamiento del protocolo ESN realiza un write de 4 bytes en una posición del buffer que el atacante puede controlar con precisión, y cuyo valor proviene de un campo del encabezado ESP que el propio atacante especificó al registrar la asociación de seguridad. La verificación de autenticación falla después de que la escritura ya ocurrió, por lo que el error es irrelevante.

Primitiva: Escritura arbitraria de 4 bytes en cualquier offset de un archivo de caché de solo lectura. Requiere crear un namespace de usuario (capacidad disponible en la mayoría de sistemas Ubuntu/Debian/Fedora por defecto).

Impacto en la explotación: Con 48 escrituras consecutivas de 4 bytes, el exploit reemplaza los primeros 192 bytes de /usr/bin/su con un ELF mínimo que llama directamente a setuid(0) y lanza /bin/sh. Al ejecutar /usr/bin/su, el bit setuid-root eleva los privilegios y se obtiene una shell de root, sin pasar por PAM.

Parche: Fusionado en el árbol netdev el 7 de mayo de 2026. Agrega una verificación del flag SKBFL_SHARED_FRAG antes de saltar la etapa de copia, marcando explícitamente como "compartidas" las páginas que provienen de splice().

Variante 2 — RxRPC Page-Cache Write (sin privilegios especiales)

RxRPC es el protocolo de red usado por el sistema de archivos distribuido AFS (Andrew File System) de IBM. Su implementación en Linux incluye un mecanismo de seguridad llamado rxkad que, para verificar paquetes de datos, realiza un descifrado in-place de 8 bytes usando el algoritmo pcbc(fcrypt).

Al igual que con ESP, si el paquete proviene de un splice() con una página de caché en el fragmento, esa operación criptográfica escribe 8 bytes directamente sobre la página. La diferencia clave: el valor escrito no es arbitrario, sino el resultado de fcrypt_decrypt(C, K), donde K es la clave de sesión del token RxRPC que el atacante registró.

Dado que fcrypt tiene un espacio de clave de 56 bits y es determinista, el atacante puede hacer búsqueda por fuerza bruta en espacio de usuario hasta encontrar la K que produce exactamente los 8 bytes deseados. Con una velocidad de ~18 millones de intentos por segundo, encontrar claves para objetivos parcialmente restringidos toma desde milisegundos hasta ~1 segundo.

Esta variante no requiere ningún privilegio especial: add_key(), socket(AF_RXRPC), splice() y recvmsg() son syscalls accesibles por cualquier usuario.

Impacto en la explotación: El exploit modifica la línea root de /etc/passwd para eliminar el campo de contraseña (root::0:0:...). PAM, con la configuración nullok habitual en Ubuntu, acepta la autenticación sin contraseña y otorga acceso root.

Parche: Propuesto pero aún sin fusionar en upstream al momento de la divulgación. El fix agrega una condición adicional para forzar la copia del buffer cuando el skb es no lineal, evitando que la página de caché llegue al sink del descifrado.

Chaining: Por qué la combinación es más Peligrosa que cada parte

Ninguna de las dos variantes por sí sola funciona en todos los entornos:

Variante Requiere namespace de usuario Necesita módulo rxrpc.ko
xfrm-ESP ✅ Sí ❌ No
RxRPC ❌ No ✅ Sí

La genialidad del exploit final es que encadena ambas en un único binario:

  1. Intenta primero la variante ESP (más poderosa, escritura directa y arbitraria).
  2. Si falla (porque el sistema bloquea unshare(CLONE_NEWUSER) o no tiene el módulo ESP cargado), cae automáticamente en la variante RxRPC.

Ubuntu —el sistema con mayores restricciones de namespaces vía AppArmor— carga rxrpc.ko por defecto, por lo que el fallback funciona precisamente allí. RHEL y distribuciones empresariales típicamente permiten namespaces de usuario pero no incluyen rxrpc.ko, lo que activa la variante ESP.

Un solo binario cubre la mayoría de las distribuciones Linux.

Impacto y Mitigaciones

Distribuciones afectadas: La mayoría de Linux con kernels sin parchear: Ubuntu, Debian, Fedora, RHEL (con variantes distintas), Arch, y cualquier otra que use el kernel mainline antes del parche.

Mitigación inmediata:

  • Aplicar el parche del kernel (fusionado el 7/5/2026 en netdev).
  • Como workaround temporal: deshabilitar la creación de namespaces de usuario no privilegiados (kernel.unprivileged_userns_clone=0 en sysctl) bloquea la variante ESP, pero no la variante RxRPC.
  • Descargar o deshabilitar rxrpc.ko bloquea la variante RxRPC.

Nota importante: La mitigación popularmente conocida para Copy Fail —bloquear algif_aeadno protege contra Dirty Frag, ya que esta vulnerabilidad es completamente independiente de ese módulo.

Conclusión

Dirty Frag es un recordatorio de que los patrones de vulnerabilidad no mueren: evolucionan. El mismo concepto que Dirty Pipe explotó en los pipes del kernel apareció años después en el subsistema de red, en no uno sino dos caminos de código completamente distintos. La capacidad del investigador de encadenar ambas variantes para cubrir distintos entornos eleva significativamente la severidad práctica del hallazgo.

La velocidad de respuesta del equipo del kernel fue notable —parche fusionado en menos de una semana— pero el hecho de que la promesa de tiempo fuera rota prematuramente expone la tensión permanente entre responsabilidad coordinada y la realidad de que, una vez que más de una persona conoce una vulnerabilidad crítica, el control de la información se vuelve muy frágil.

Fuente original: write-up de Hyunwoo Kim (@v4bel) — github.com/V4bel/dirtyfrag

Apr 30, 2026

Copy Fail: vulnerabilidad crítica, secuestro de Linux con acceso root (CVE-2026-31431)

La vulnerabilidad, CVE-2026-31431, bautizada Copy Fail, es un pequeño script de 732 bytes que puede brindarle a un usuario normal acceso completo a root. Sin condiciones de carrera. Sin trucos de sincronización. No hay que bloquear el sistema diez veces con la esperanza de que uno funcione. Simplemente funciona. Todas las veces.

CVE-2026-31431 es una vulnerabilidad crítica de Escalamiento de Privilegios Locales (LPE) que rompe algunas suposiciones fundamentales de confianza en el kernel de Linux. Obliga a afrontar la realidad de que incluso operaciones aparentemente inocuas pueden ocultar profundas fallas de seguridad.

Lo extraño es cuánto tiempo estuvo ahí, en silencio, sin alarmas. No hay signos evidentes. Solo esperando que alguien conecte los puntos. Este hallazgo fue posible gracias a la inteligencia artificial, pero surgió a partir de una observación del investigador de Theori, Taeyang Lee, quien estudiaba cómo el subsistema criptográfico de Linux interactúa con los datos almacenados en la caché de páginas. Utilizó Xint Code para ampliar su investigación a todo el subsistema criptográfico, y Copy Fail fue el hallazgo más importante del informe.

El alcance de Copy Fail (PoC) es muy amplio: afecta prácticamente a todas las distribuciones principales de Linux con kernels creados desde 2017 hasta el lanzamiento del parche

No se trata de condiciones de carrera, trucos de sincronización ni de una distribución específica. Simplemente funciona. Afecta básicamente a todas las distro: Ubuntu, Debian, Amazon Linux, RHEL, SUSE. Mismo script, mismo resultado: rootSu divulgación pública fue seguida rápidamente por esfuerzos coordinados de parcheo en toda la industria, un testimonio de su grave impacto.

Lo que realmente preocupa es cómo funciona: el atacante no cambia archivos en el disco, sino que corrompe silenciosamente el caché de la página, que es lo que utiliza el sistema cuando lee y ejecuta archivos. Entonces el archivo se ve perfectamente y las sumas de verificación coinciden. Nada aparece modificado. Pero en la memoria ha sido alterado.

El problema es que el kernel confía en esa cacha, en esa versión en memoria. Entonces si se toma algo como /usr/bin/su, que se ejecuta con privilegios elevados, se inyectan algunos bytes en su copia en caché y se ejecuta... se obtiene root. El disco nunca cambia, por lo que sus herramientas de detección habituales simplemente no detectan nada. Es decir que el ataque también es sigiloso de una manera cruel.

Ha habido errores graves en Linux antes. Por ejemplo Dirty Cow (CVE-2016-5195) funcionaba pero era poco confiable. Dirty Pipe (CVE-2022-0847) era inteligente pero limitado. Copy Fail está limpio, funciona y ni siquiera intenta ocultar su eficacia.

Y luego está el ángulo del contenedor, que podría ser la parte más inquietante de todas. Como la caché de la página se comparte, esto no es sólo un problema local. En la configuración correcta, este ataque puede saltar a través de contenedores. Eso significa que un proceso con pocos privilegios dentro de un contenedor podría afectar al host o a las cargas de trabajo vecinas. Si está ejecutando una infraestructura multiinquilino, eso debería hacer que se le revuelva un poco el estómago.

La causa raíz es básicamente una mala suposición en el subsistema criptográfico del kernel. Un modo específico llamado authencesn escribe unos cuantos bytes más allá de donde debería, y gracias a cómo el núcleo conecta las cosas, esos bytes aterrizan directamente en el contenido almacenado en caché de un archivo. Eso es todo. Cuatro bytes en el lugar equivocado y todo el sistema se desmorona.

La solución ya se está implementando y básicamente elimina la optimización que lo hizo posible. Efectivamente, en ajuste de rendimiento de hace años termina abriendo la puerta a algo grave.

Este no es uno de los errores que "tal vez se puedan explotar en un laboratorio". Esto es todo lo contrario. Es simple, portátil y confiable. Esa es una mala combinación.

Qué hacer

Parchear ahora, repensar para siempre. CVE-2026-31431, "Copy Fail", es una vulnerabilidad crítica de escalamiento de privilegios locales de alto impacto que ha persistido en los kernels de Linux desde 2017. Su facilidad de explotación a través de un script PoC mínimo en prácticamente todas las distribuciones principales la convierte en una amenaza inmediata.

  • Parchear inmediatamente o aplicar la mitigación (ver abajo): priorizar y aplicar todas las actualizaciones del kernel disponibles de su proveedor de distribución para abordar CVE-2026-31431. Esto no es negociable para todos los sistemas Linux.
  • Auditar accesos locales: revisar y restringir el acceso de los usuarios locales a los sistemas críticos. Si bien "Copy Fail" requiere acceso local inicial, limitar los posibles puntos de entrada es siempre una mejor práctica.
  • Controlar escapes de los contenedores: si ejecuta entornos en contenedores (Docker, Kubernetes), asuma que sus nodos son vulnerables si no se parchean. Aísle las cargas de trabajo y asegúrese de que los núcleos del host estén actualizados.

A qué prestar atención

  • Disponibilidad de exploits: espere que las herramientas públicas de exploits se generalicen muy rápidamente, si aún no lo han hecho. La baja complejidad lo convierte en un objetivo principal para atacantes oportunistas.
  • Errores lógicos futuros: "Copy Fail" destaca una clase de errores lógicos sutiles que son notoriamente difíciles de detectar. Esta vulnerabilidad es un presagio; se espera un enfoque renovado por parte de los investigadores sobre temas similares en código de bajo nivel y alta confianza.
  • Escrutinio de la cadena de suministro: A continuación se debe realizar un mayor escrutinio sobre la seguridad de las bibliotecas y los componentes de la infraestructura central. Se deben exigir revisiones de seguridad más rigurosas, verificación formal y análisis estático avanzado de sus proveedores y proyectos de código abierto.

Reglas YARA y SIGMA

Ya se han publicado reglas de YARA para la detección para Copy Fail / CVE-2026-31431. Cubre artefactos de prueba de concepto públicos, incluyendo payloads conocidos, fragmentos de código de exploit y URLs encontradas en material compartido. Las reglas más genéricas para entornos de clientes aún están en fase de pruebas.

Reglas SIGMA (creadas por @_swachchhanda_). Cubren patrones de explotación sospechosos relacionados con Copy Fail, incluyendo el comportamiento de ejecución de binarios con setuid y la ejecución de shell con argv nulo.

Mitigación

En el caso de ramas de Debian, esta mitigación impide que el kernel cargue el componente vulnerable. Es una forma efectiva de "bloquear" un driver o componente del kernel sin borrarlo.

# echo "install algif_aead /bin/false" > /etc/modprobe.d/disable-algif.conf
# rmmod algif_aead 2 > /dev/null || true
# smod | grep algif

Verificar con: modprobe -n -v algif_aead

El resultado esperado debería incluir: install /bin/false

Con respecto a ramas de Red Hat, ese módulo está integrado en el kernel. Se recomienda mitigarlo con el siguiente comando:

grubby --update-kernel=ALL --args='initcall_blacklist=algif_aead_init'

Luego reiniciar.

Si desea utilizar esa solución sugerida (deshabilitar el módulo del kernel `algif_aead` con una configuración de modprobe) y no desea ejecutar la shell para obtener root real, sino solo verificar si el módulo se puede cargar, aquí hay una versión legible de sus primeras líneas:

$ python3 -c 'import socket;
s = socket.socket(socket.AF_ALG, socket.SOCK_SEQPACKET, 0);
s.bind(("aead","authencesn(hmac(sha256),cbc(aes))"));
print("algif_aead successfully loaded, mitigation not effective; remove it with: # rmmod algif_aead")'

Si el script imprime el mensaje de error, significa que el sistema pudo cargar el módulo algif_aead y, por lo tanto, la mitigación falló o no se aplicó correctamente, y el sistema sigue siendo vulnerable.

Telefónica ha publicado un informe técnico con más detalles.

Fuente: Xint-io

Apr 13, 2026

Linus Torvalds y los responsables del kernel de Linux establecen normas sobre el código generado por IA

La inteligencia artificial ya forma parte del día a día de muchos programadores. Es de gran ayuda, actúa en muchas ocasiones como una mano derecha, pero, en otras, se convierte en la mano ejecutora de tareas que deberían ser revisadas por humanos. Esto es algo a lo que Linus Torvalds ha querido poner freno en el marco del lanzamiento de Linux 7.0. Este ha sido directo, como suele, y no es que haya prohibido su uso, pero ha dejado muy claro que no le vale con enviar código sin control. Su idea es que la IA sea una herramienta más, como cualquier otra.

Con el lanzamiento de la nueva versión parece que algo ha cambiado. No es una actualización cualquiera; es un cambio de dígito que arrastra consigo años de debates, peleas en foros y una nueva visión.

Linux impone normas sobre el código generado por IA, da el visto bueno a Copilot, rechaza la programación chapucera de la IA y responsabiliza a los humanos de los errores; tras meses de intenso debate, Torvalds y los mantenedores llegan a un acuerdo.

La prolongada crisis de identidad de la comunidad de código abierto en torno a la inteligencia artificial ha recibido una dosis muy necesaria de pragmatismo. Esta semana, el proyecto del kernel de Linux finalmente estableció una política formal para todo el proyecto que permite explícitamente las contribuciones de código asistido por IA, siempre que los desarrolladores cumplan con nuevas y estrictas normas de divulgación.

Las nuevas directrices exigen que los agentes de IA no puedan usar la etiqueta legalmente vinculante "Signed-off-by", sino que requieran una nueva etiqueta "Assisted-by" para mayor transparencia. En definitiva, la política vincula legalmente cada línea de código generado por IA, así como cualquier error o fallo de seguridad resultante, a la persona que lo envía.

Esta medida llega tras unos meses caóticos en el mundo del código abierto, poniendo fin a un intenso debate que alcanzó su punto álgido en enero, cuando Dave Hansen de Intel y Lorenzo Stoakes de Oracle se enfrentaron sobre la rigurosidad con la que el kernel debería controlar las herramientas de IA. Linus Torvalds, con su franqueza característica, zanjó definitivamente la discusión, calificando el debate sobre las prohibiciones totales de "una postura inútil".

La postura de Torvalds, que constituye la base filosófica de esta nueva política, es sorprendentemente directa: la IA es simplemente otra herramienta. Quienes envían código basura no van a leer la documentación, así que el kernel debería centrarse en responsabilizar a los desarrolladores humanos en lugar de intentar controlar el software que ejecutan en sus ordenadores. Es un enfoque muy razonable y pragmático, sobre todo si se compara con el pánico que se ha apoderado de otros sectores del ecosistema de código abierto.

Hasta ahora, los principales proyectos han adoptado enfoques muy diferentes respecto a la IA. En los últimos dos años, distribuciones de Linux prominentes como Gentoo, así como la venerable distribución Unix NetBSD, optaron por prohibir directamente las contribuciones generadas por IA. Los responsables de NetBSD describieron las salidas de los modelos de aprendizaje automático (LLM) como legalmente "contaminadas" debido a la ambigua situación de los derechos de autor de los datos de entrenamiento de los modelos.

El origen de esta preocupación radica en el Certificado de Origen del Desarrollador (DCO). Como señaló Red Hat en un análisis exhaustivo a finales del año pasado, el DCO exige que los desarrolladores certifiquen legalmente que tienen derecho a enviar su código. Dado que los LLM se entrenan con conjuntos de datos masivos de código abierto que a menudo tienen licencias restrictivas como la Licencia Pública General de GNU, los desarrolladores que utilizan Copilot o ChatGPT no pueden garantizar con certeza la procedencia de lo que envían. Red Hat advirtió que esto podría infringir inadvertidamente las licencias de código abierto y desmantelar por completo el marco del DCO.

Además de los problemas legales, los responsables de los proyectos también se han enfrentado a una batalla perdida contra el enorme volumen de solicitudes. El mundo del código abierto se encuentra actualmente inundado de lo que la comunidad ha denominado "código basura generado por IA" (Slop IA).

El creador de cURL tuvo que suspender las recompensas por detección de errores tras verse inundado de código generado por IA; la herramienta de pizarra digital tldraw comenzó a cerrar automáticamente las solicitudes de extracción externas como medida de protección; y proyectos como Node.js y OCaml han visto cómo parches masivos de más de 10.000 líneas generados por IA desataban debates existenciales entre sus mantenedores.

La fricción cultural en torno al código de IA no divulgado ha sido aún más volátil. A finales del año pasado, el ingeniero de NVIDIA y mantenedor del kernel, Sasha Levin, se enfrentó a una fuerte reacción negativa de la comunidad tras revelarse que había enviado un parche al kernel 6.15 escrito íntegramente por un LLM sin divulgarlo, ni siquiera el registro de cambios. Si bien el código era funcional, presentaba una regresión de rendimiento a pesar de haber sido revisado y probado. La comunidad se opuso firmemente a la idea de que los desarrolladores pusieran sus nombres en código complejo que en realidad no habían escrito, e incluso Torvalds admitió que el parche no se revisó adecuadamente, en parte porque no estaba etiquetado como generado por IA.

El kernel de Linux no es la única comunidad que lidia con las consecuencias del uso no divulgado de IA. En el mundo de los videojuegos, la legendaria (y aún muy activa) comunidad de modding de Doom se dividió el año pasado cuando Christoph "Graf Zahl" Oelckers, el desarrollador principal del popularísimo GZDoom, fue descubierto utilizando parches generados por IA sin su consentimiento. Cuando los miembros de la comunidad lo confrontaron por la falta de transparencia, Oelckers adoptó una actitud sorprendentemente despreocupada, diciéndoles básicamente a sus críticos que "siéntanse libres de bifurcar el proyecto". La comunidad no se dejó intimidar, lo que dio lugar al nacimiento del nuevo UZDoom, ya que la gran mayoría de los colaboradores de GZDoom se unieron a la nueva bifurcación.

El incidente de GZDoom y la reacción negativa contra Sasha Levin ponen de manifiesto la importancia de la nueva política del kernel de Linux. La mayor parte de la comunidad de desarrolladores está menos enfadada por el uso de la IA y más frustrada por la falta de honestidad que la rodea. Al exigir una etiqueta de "Asistido por" e imponer una estricta responsabilidad humana, el kernel de Linux intenta despojar al debate de la carga emocional. Torvalds y los mantenedores reconocen la realidad: los desarrolladores usarán herramientas de IA para programar más rápido, e intentar prohibirlas es como intentar prohibir una marca específica de teclado.

En resumen, si el código es bueno, es bueno. Si se trata de un código de IA defectuoso que daña el kernel, quien hizo clic en "enviar" será quien tenga que rendir cuentas ante Linus Torvalds. En el mundo del código abierto, esa es una de las medidas disuasorias más efectivas que existen.

Fuente: Toms Hardware