Tecnología · NOTICIA EXPLICADA
“Big Fish” logra root local en OpenBSD, pero los parches ya estaban disponibles
Calif publicó el 16 de octubre una cadena funcional de escalada local en OpenBSD 7.9. Combina un desbordamiento de contador de memoria compartida de hace décadas con otros fallos del kernel; OpenBSD ya había distribuido las correcciones en septiembre.

La firma Calif publicó el 16 de octubre una prueba de concepto completa que eleva a un usuario local sin privilegios hasta root en OpenBSD 7.9. Primero desborda un contador con signo de 16 bits de memoria compartida y luego combina un use-after-free provocado por una carrera con otra escritura fuera de límites.
La demostración es seria, pero importa el límite: el atacante debe poder ejecutar código como usuario local. No muestra una intrusión remota sin autenticar. OpenBSD ya había emitido la errata 018 el 14 de septiembre y la 026 el 30 de septiembre, antes del código público.
Qué demuestra el exploit público
Calif afirma que mapea 127 segmentos System V y crea 259 procesos para superar el máximo del contador de 16 bits. Una condición de carrera convierte la contabilidad dañada en un use-after-free.
La cadena usa preparación del heap y otra escritura fuera de límites para alterar las tablas de páginas y sobrescribir un puntero predecible del kernel. Logró root con KARL, SMAP y SMEP activos y sin fuga de información.
Qué no demuestra
Es una escalada local. La ruta publicada presupone que el atacante ya puede ejecutar código como usuario sin privilegios en la máquina. No aporta por sí sola una entrada de red sin autenticar.
La cobertura independiente no registraba CVE ni uso en ataques reales al publicarse. Es un estado puntual, no una garantía de que el código público no se use después.
Las correcciones precedieron a la prueba
La errata 018 de OpenBSD 7.9, del 14 de septiembre, evita el desbordamiento de shmat(4). La 026, del 30 de septiembre, corrige un error de recuento de referencias del kernel que podía causar use-after-free. Ambas ofrecen parche fuente para todas las arquitecturas.
La página oficial ofrece actualizaciones binarias con syspatch para amd64, i386 y arm64; otras arquitecturas pueden requerir la rama -stable. OpenBSD 7.8 también recibió la corrección de memoria compartida en la errata 054.
Cómo verificar la protección
En una versión oficial compatible, syspatch sin opciones descarga, verifica e instala todos los parches binarios pendientes. Son acumulativos y no se puede elegir solo una parte. -c lista los disponibles y -l los instalados.
No deduzca la protección solo por la versión del sistema. Compruebe los parches instalados, lea la salida y siga cualquier aviso de reinicio. Versiones sin soporte o arquitecturas sin binario deben usar el parche fuente firmado y la guía oficial -stable.
Por qué importa aun después del parche
El contador de hace 37 años es solo el comienzo. La cadena también depende de asignaciones predecibles del kernel y otra primitiva de corrupción. Calif propone unlinking seguro, aleatorización de tablas de páginas y del asignador, y comprobaciones del compilador.
La conclusión práctica es limitada: ahora que existe una cadena funcional, verificar parches es urgente; no debe describirse como toma remota de OpenBSD ni como prueba de ataques activos.
