El proyecto FreeBSD ha publicado el aviso de seguridad FreeBSD-SA-26:03.blocklistd, que corrige la vulnerabilidad CVE-2026-2261. Es un fallo de gestión de recursos en blocklistd(8), el demonio que automatiza el bloqueo de direcciones IP tras eventos adversos repetidos, como los intentos de autenticación fallidos. La gravedad es media, pero su efecto resulta especialmente delicado porque degrada precisamente uno de los mecanismos defensivos del sistema.
Qué es blocklistd y qué falla
blocklistd recibe notificaciones de servicios como SSH cuando ocurre algo sospechoso (por ejemplo, varios intentos de inicio de sesión fallidos desde la misma IP) y, en respuesta, añade reglas de cortafuegos para bloquear temporalmente esas direcciones. En el mundo FreeBSD cumple un papel parecido al de fail2ban en Linux.
El problema es un error de programación que provoca una fuga de descriptores de socket: por cada evento adverso que blocklistd procesa, el demonio deja un descriptor de socket sin cerrar. Con el tiempo esos descriptores se acumulan hasta agotar los recursos disponibles del proceso.
A quién afecta
La vulnerabilidad afecta a FreeBSD 15.0 y 15.0-RELEASE. Cualquier sistema que tenga blocklistd habilitado para proteger sus servicios expuestos puede acabar degradado, tanto por el uso normal a lo largo del tiempo como por un abuso deliberado.
Impacto: una defensa que se apaga sola
El agotamiento de descriptores degrada el servicio en dos fases:
- Primero, al acumular suficientes descriptores filtrados,
blocklistdya no puede ejecutar los scripts auxiliares que aplican o retiran los bloqueos (los procesos hijos fallan por una desreferencia de puntero nulo). El sistema deja de añadir nuevos bloqueos y de liberar los que han caducado. - Después, con la fuga ya avanzada,
blocklistdni siquiera puede recibir nuevos informes de eventos.
El riesgo real es que un atacante genere a propósito un gran número de eventos adversos desde direcciones IP sacrificables para saturar y desactivar blocklistd antes de lanzar el ataque que de verdad le interesa. Según el propio aviso, alguien con suficientes IPs podría inutilizar el servicio “en cuestión de minutos, o como mucho horas”. Y aunque no haya nadie atacando, el uso normal acaba agotando los descriptores poco a poco.
Mitigación y parche
Reiniciar blocklistd con regularidad da un alivio temporal, pero no toca el fondo del problema: un atacante decidido vuelve a saturarlo enseguida.
La solución de verdad es aplicar el parche oficial. FreeBSD publicó las correcciones el 10 de febrero de 2026 para stable/15 (commit 1864a03eb2ac) y releng/15.0 (commit e4781e4e6d88). La actualización se instala con freebsd-update, pkg, o recompilando desde el código fuente parcheado, según cómo gestiones el sistema. Después de actualizar, reinicia el servicio para que la corrección surta efecto.
Si llevas servidores FreeBSD que dependen de blocklistd como capa de protección frente a fuerza bruta, aplica este parche cuanto antes. Una defensa que el propio atacante puede apagar deja de ser una defensa.
Puedes consultar la ficha completa de FreeBSD para conocer más sobre este sistema operativo y su ciclo de soporte.
Fuente
- Aviso oficial: FreeBSD-SA-26:03.blocklistd
- Detalle del CVE: CVE-2026-2261 en NVD