Los usuarios de soluciones FreeBSD tienen a su disposición soluciones
efectivas a dos problemas de seguridad aparecidos recientemente, que
explotados con éxito podrían permitir la realización de ataques de
denegación de servicio y la revelación de información sensible.
FreeBSD es un sistema operativo de alta calidad diseñado para sistemas
x86, con soporte para arquitecturas amd64, Alpha/AXP, IA-64, PC-98 y
UltraSPARC. Existen ramas de desarrollo experimental para abastecer
equipos con otras arquitecturas, como ARM, MIPS, y PPC.
FreeBSD es un sistema derivado del UNIX desarrollado por la
Universidad de Berkeley, aquel 4.4BSD-Lite desarrollado por el
Computer Systems Research Group (CSRG). Este sistema multiusuario y
multitarea por apropiación, es compatible con los estándares POSIX,
e incluye además del kernel, un completo sistema de ficheros y
utilidades adicionales para dar servicios a sus usuarios. Sus orígenes
se remontan a 1993, con las nomenclaturas «386BSD 0.5» y «386BSD
Interim», ya que sus autores, Jordan Hubbard, Nate Williams y Rod
Grimes, pretendían derivar una versión del 386BSD para mitigar
diversos problemas técnicos y someter al producto a mejoras para
sus labores de investigación.
Los problemas documentados son, en esencia, dos. El primero de ellos
está causado por un error en la gestión de fragmentos IP en el
componente de filtrado «pf». Una secuencia maliciosa especialmente
preparada de paquetes fragmentados IP podría provocar pánico en el
kernel, con las consecuentes denegaciones de servicio. El fallo se ha
verificado en todos los sistemas FreeBSD versiones 5.3, 5.4 y 6.0 que
tengan «pf» en uso con reglas temáticas del tipo «scrub fragment crop»
y «scrub fragment drop-ovl». Esta condición atenuante convierte el
problema en moderadamente crítico.
El segundo problema es de criticidad leve, y ha sido documentado en
las versiones 5.4-STABLE y 6.0. Explotable solamente a nivel local,
los sistemas sin corregir podrían facilitar la revelación de
información sensible. Ambos problemas están debidos a errores de
diseño en el mecanismo ioctl, utilizado para el control de flujo
de entrada y salida a dispositivos, es posible a causa del error
descrito, que el contenido de la memoria se copie a búferes del
espacio de usuario. La memoria podría contener información sensible,
como claves. Este mismo componente tiene también un comportamiento
anómalo a la hora de calcular tamaños de búfer, lo que podría
igualmente ser aprovechado para volcar contenidos de memoria a
búferes del espacio de usuario, siendo factible que los volcados
contengan información sensible, como en el caso anterior.
La solución a estos problemas pasa por la actualización, la cual
animamos a ejecutar desde estas líneas.
shernando@hispasec.com
Más información:
FreeBSD
http://www.freebsd.org
IP fragment handling panic in pf(4)
ftp://ftp.freebsd.org/pub/FreeBSD/CERT/advisories/FreeBSD-SA-06:07.pf.asc
Local kernel memory disclosure
ftp://ftp.freebsd.org/pub/FreeBSD/CERT/advisories/FreeBSD-SA-06:06.kmem.asc
Parche para denegación de servicio en «pf» (versiones 5.3, 5.4 y 6.0)
ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/patches/SA-06:07/pf.patch
ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/patches/SA-06:07/pf.patch.asc
Parche para problema de revelación de información sensible de memoria
Versiones 5.4-STABLE y 6.0-STABLE:
ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/patches/SA-06:06/kmem.patch
ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/patches/SA-06:06/kmem.patch.asc
Versión 6.0-RELEASE:
ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/patches/SA-06:06/kmem60.patch
ftp://ftp.FreeBSD.org/pub/FreeBS…atches/SA-06:06/kmem60.patch.asc
Deja una respuesta