El 20 de mayo de 2026, los desarrolladores de FreeBSD anunciaron la corrección de siete nuevas vulnerabilidades en el sistema. No todas son igualmente peligrosas, pero algunas son bastante preocupantes.
CVE-2026-45251 — uso después de liberar en llamadas de sistema similares a select, si en su lista de espera hay descriptores de procesos (en FreeBSD 15, también nuevos descriptores de jails), y esos descriptores fueron cerrados en otro hilo mientras la llamada al sistema seguía esperando. Según este commit, también se ven afectados los descriptores relacionados con netmap (controlador de acceso directo acelerado a un adaptador de red), pero no hay información oficial al respecto. Los descriptores de procesos aparecieron en FreeBSD 9, por lo que la vulnerabilidad probablemente existe desde entonces. En la declaración oficial se indica que la vulnerabilidad permite obtener privilegios de superusuario. No hay forma de neutralizarla sin un parche/actualización.
CVE-2026-45250 — cálculo incorrecto del tamaño del búfer y posterior escritura fuera del búfer en la pila en la llamada al sistema setcred, siendo que, a pesar de que setcred requiere privilegios de root, la corrupción de la pila ocurre antes de que se verifiquen los privilegios y, por lo tanto, está disponible para todos. Esta llamada al sistema apareció en FreeBSD 14.3 (es decir, versiones anteriores no se ven afectadas) y permite establecer todos los identificadores de usuario y de grupo del proceso actual en una sola llamada, en lugar de combinaciones de setuid+setgid+setgroups y similares. La vulnerabilidad permite ejecutar código malicioso en el contexto del núcleo. No hay forma de neutralizarla sin un parche/actualización.
CVE-2026-45252 — falta de verificación de la existencia de un cero final antes de copiar una cadena obtenida del demonio fuse a un nuevo búfer. Sin embargo, hay una verificación del tamaño máximo de la copia, y no se pueden leer más de 253 bytes adicionales de la memoria del núcleo. También se puede escribir hasta 250 bytes en el "espacio no asignado del montón del núcleo". De forma predeterminada, en FreeBSD está prohibido montar sistemas de archivos por usuarios que no sean root, lo que significa que para inyectar un demonio fuse malicioso en el núcleo, se necesita ser root. Sin embargo, si sysctl vfs.usermount=1, el sistema se vuelve vulnerable incluso para usuarios normales. También hay que considerar el riesgo del demonio fuse en un jail, donde puede ser root (aunque esto también está prohibido por defecto).
CVE-2026-45253 — al utilizar ptrace, había la posibilidad de ejecutar una llamada al sistema en un proceso de depuración con un número incorrecto, lo que conducía a la ejecución de código en el núcleo que no estaba previsto para ejecutarse como llamada al sistema, con potenciales consecuencias negativas. Si se establece security.bsd.unprivileged_proc_debug=0 (lo cual es una buena práctica para servidores en cualquier caso, e incluso el instalador del sistema sugiere opcionalmente hacerlo), entonces los procesos de usuario y jailed no podrán usar ptrace y, por lo tanto, la vulnerabilidad estará disponible solo para root.
CVE-2026-45255 — inyección de comandos shell con privilegios de root en bsdinstall/bsdconfig a través de nombres de redes inalámbricas maliciosas que no fueron escapadas al momento de ver su lista. Para evitar esta vulnerabilidad, basta con no ver la lista de redes inalámbricas desde bsdinstall/bsdconfig.
CVE-2026-39461, CVE-2026-45254 — vulnerabilidades en la biblioteca libcasper (no en el núcleo). La biblioteca está diseñada para proporcionar servicios seguros y configurables a procesos confinados en una sandbox. Una de las vulnerabilidades está relacionada con el desbordamiento de búfer en la pila y la corrupción de la pila al organizar en esta biblioteca descriptores de archivos con números grandes (estaba diseñada para números hasta 1024, que es el límite por defecto de estructuras para el syscall select). La segunda vulnerabilidad es la posibilidad de eliminar listas de restricciones impuestas (la ideología de la biblioteca es que las restricciones impuestas a un proceso solo pueden ser fortalecidas) cap_net.
Las versiones corregidas del sistema son: 14.3-RELEASE-p14, 14.4-RELEASE-p5 y 15.0-RELEASE-p9. También vale la pena mencionar un punto importante para algunos: la versión de FreeBSD 13.5 recientemente fue descontinuada el 30 de abril de 2026, y ya no hay correcciones oficiales para ella (ni para la rama 13.x en general). Sin embargo, si por alguna razón no deseas apresurarte a hacer la transición a la versión 14.x, los parches para la versión 14.3 son generalmente aplicables también a los fuentes de 13.5, y CVE-2026-45250 para la rama 13 no es relevante debido a la falta de setcred().
Fuente: linux.org.ru
