← Volver a artículos
Seguridad· 2 min de lectura

OpenBSD parchea iked(8): lectura fuera de límites y desreferencia de puntero nulo en IKEv2

El 4 de abril de 2026 el proyecto OpenBSD publicó la errata 027 (errata 033 en la rama 7.7) marcada como SECURITY FIX. El parche toca iked(8), el demonio que se encarga de las negociaciones IKEv2 para levantar y mantener túneles IPsec. La descripción oficial es escueta: añade comprobaciones más estrictas para evitar una lectura fuera de límites, una desreferencia de puntero nulo y mantener consistente la máquina de estados.

Qué falla exactamente

iked procesa los mensajes del protocolo IKEv2 que llegan por la red durante la fase de negociación de una asociación de seguridad. Cuando el demonio interpreta esos mensajes sin validar del todo su contenido, un paquete construido a mano puede llevarlo a leer datos más allá del buffer reservado (out-of-bounds read) o a seguir un puntero que vale NULL. Lo primero expone memoria que no debería verse; lo segundo provoca que el proceso se caiga.

El tercer punto que menciona la errata, mantener la máquina de estados consistente, apunta a que ciertos mensajes recibidos en un orden o estado inesperado dejaban a iked en una situación que no debía darse, terreno propicio para los dos problemas anteriores.

A quién afecta

A cualquier sistema OpenBSD 7.7 o 7.8 que use iked para IPsec. Eso incluye routers, cortafuegos y gateways VPN basados en OpenBSD, un uso muy habitual en esta plataforma. Si tu instalación no levanta iked, no estás expuesto por esta vía.

El vector es la red: iked escucha tráfico IKEv2 (UDP 500 y 4500). Un atacante capaz de enviar paquetes al demonio puede intentar disparar el fallo sin autenticación previa, porque estos defectos están en el camino de procesamiento temprano del mensaje.

Gravedad

OpenBSD clasificó internamente la entrada como de severidad media y no le asignó CVE. El impacto demostrado es denegación de servicio (caída de iked por el puntero nulo) y exposición de memoria del proceso por la lectura fuera de límites. No hay constancia de ejecución de código a partir de estos fallos, pero una caída del demonio VPN deja sin túneles a quien dependa de él, y la fuga de memoria puede revelar material sensible de las negociaciones en curso.

Mitigación

La solución es aplicar la errata. En OpenBSD el procedimiento estándar es syspatch, que descarga e instala el parche binario:

syspatch

Tras instalarlo, reinicia el demonio para que cargue el código corregido:

rcctl restart iked

Si compilas desde fuentes, aplica el parche publicado en la página de erratas y recompila iked. Mientras no puedas parchear, limitar con pf qué orígenes pueden hablar IKEv2 con el demonio reduce la superficie de ataque, aunque no sustituye al arreglo.

Para mantenerse al día con las correcciones de seguridad de OpenBSD conviene revisar la ficha de OpenBSD y seguir la lista oficial de erratas.

Fuente