Las erratas de OpenBSD 7.9 corrigen fallos del kernel que Calif encadenó en un exploit root local
La firma de seguridad Calif afirma que un fallo de memoria compartida que se remonta a unos 37 años, al código BSD original, era una de las dos piezas de una cadena root local. Según Calif, OpenBSD ha publicado las correcciones como erratas 018 y 026.

Puntos clave
- 1Calif publicó una investigación sobre un exploit root local para OpenBSD que combina dos errores del kernel; las correcciones figuran en las erratas de OpenBSD 7.9.
- 2Según Calif, uno de los fallos afecta a un contador con signo de 16-bit de conexiones a memoria compartida que se remonta a unos 37 años, a las fuentes BSD originales.
- 3La errata 018 de OpenBSD, fechada el 14 de septiembre de 2026, está etiquetada como corrección de fiabilidad para un desbordamiento de entero en shmat.
- 4La errata 026, fechada el 30 de septiembre de 2026, está etiquetada como corrección de seguridad para un error de conteo de referencias del kernel que podía causar un use-after-free.
- 5El exploit requiere acceso local; Calif también propuso un endurecimiento más amplio del kernel, como la desvinculación segura de listas, la aleatorización de asignadores y mitigaciones basadas en el compilador.
La noticia completa
La firma de seguridad Calif ha publicado una investigación que describe cómo obtuvo privilegios root en OpenBSD combinando dos fallos del kernel que el proyecto ya ha corregido. En un artículo de Andrew Griffiths fechado el 16 de octubre, la empresa afirmó que uno de los errores se remonta aproximadamente 37 años, a las fuentes BSD originales. Calif dijo que notificó las vulnerabilidades a OpenBSD con anterioridad este año, a menudo junto con propuestas de parches.
Según Calif, el fallo más antiguo afecta a un contador que registra las conexiones a memoria compartida y que estaba definido como un valor con signo de 16-bit, susceptible de desbordarse. La firma explicó que este desbordamiento podía provocar un use-after-free mediante una condición de carrera y, junto con una escritura fuera de límites independiente en el kernel, permitía a un usuario local escalar hasta root. Calif afirmó que el ataque funcionaba con el reenlazado del kernel KARL de OpenBSD y las protecciones de procesador SMAP y SMEP activadas, y que no requería ningún fallo de divulgación de información. El artículo también enlaza a código y a una prueba de concepto.
Calif indicó que los problemas se corrigieron en las erratas 018 y 026 de OpenBSD. En la página de erratas de OpenBSD 7.9, la 018 está fechada el 14 de septiembre de 2026 y figura como una corrección de fiabilidad que evita un desbordamiento de entero en shmat. La errata 026, fechada el 30 de septiembre de 2026, figura como una corrección de seguridad para un error de conteo de referencias que podía provocar una condición de use-after-free en el kernel. Ambas entradas se aplican a todas las arquitecturas. Calif señala ambas erratas como las correcciones de los problemas de su cadena, por lo que una de las dos lleva una etiqueta de fiabilidad en lugar de una de seguridad.
La página de erratas indica que los parches se distribuyen como diffs unificados firmados y que la utilidad syspatch puede instalar actualizaciones binarias en amd64, i386 y arm64. Las correcciones para las versiones con soporte también se incorporan a la rama -stable, que el proyecto mantiene durante un año tras cada versión. Calif describe el exploit como una escalada de privilegios local, lo que significa que un atacante necesitaría primero acceso al sistema.
Más allá de las erratas, Calif expuso varias ideas de endurecimiento destinadas a dificultar vías de ataque similares. Entre ellas figuran comprobaciones de integridad antes de eliminar entradas de listas doblemente enlazadas, que según la firma FreeBSD y NetBSD ya implementan, y una mayor aleatorización de la memoria del kernel, ya que Calif afirmó que los asignadores del kernel de OpenBSD siguen siendo deterministas aunque KARL aleatoriza la disposición del binario del kernel. La firma también mencionó funciones del compilador como el array bounds sanitizer y los próximos Alloc Tokens. Calif dijo que había sugerido el sanitizer a FreeBSD y que allí había notificado de forma privada 21 problemas que este habría detectado, argumentando que mitigar clases enteras de errores cobra más importancia a medida que la IA ayuda a descubrir vulnerabilidades.
Por qué importa
Los administradores que solo aplican las erratas etiquetadas como de seguridad pueden haber omitido la 018, que OpenBSD clasifica como corrección de fiabilidad, pese a que Calif la señala como una de las dos correcciones de los errores de su cadena de exploit root. Dado que hay código de explotación referenciado públicamente, es recomendable confirmar que tanto la 018 como la 026 están instaladas, sobre todo en sistemas donde usuarios no fiables pueden iniciar sesión localmente.
Cronología
· Publicado
Temas#OpenBSD#kernel#escalada de privilegios#gestión de parches#Calif
Fuentes
Esta noticia se basa en las siguientes fuentes. Léalas para conocer el contexto completo.



