lunes, 21 de marzo de 2011

Revelación de información en el Kernel Linux 2.6.x

Se han publicado tres vulnerabilidades en el kernel de Linux que podrían ser aprovechadas para revelar información sensible a un atacante.

* CVE-2011-1170
Un error al no terminar determinadas estructuras en las funciones 'compat_do_replace', 'do_replace' y 'do_arpt_get_ctl', localizadas en el fichero 'net/ipv4/netfilter/arp_tables.c', podría permitir a un atacante local acceder a información del sistema.

* CVE-2011-1171
Un error al no terminar determinadas estructuras en las funciones 'compat_do_replace', 'do_replace' y 'do_arpt_get_ctl', localizadas en el fichero 'net/ipv4/netfilter/ip_tables.c', podría permitir a un atacante local acceder a información del sistema.

* CVE-2011-1172
Un error al no terminar determinadas estructuras en las funciones 'compat_do_replace', 'do_replace' y 'do_arpt_get_ctl', localizadas en el fichero 'net/ipv4/netfilter/arp_tables.c', podría permitir a un atacante local acceder a información del sistema.

Es obvio que se trata de la introducción del mismo error en a lo largo del código fuente. El problema radica en que no se comprueba la terminación "\x00" de las cadenas de las estructuras de datos, por lo que la solución propuesta, común a las tres vulnerabilidades consiste en el forzado de dicha terminación en las cadenas de texto de las estructuras.

Se observa en las lineas introducidas del parche:

tmp.name[sizeof(tmp.name)-1] = 0;
rev.name[sizeof(rev.name)-1] = 0;

Hay que destacar que para poder explotar esta vulnerabilidad, es necesario que la funcionalidad CAP_NET_ADMIN se encuentre habilitada.

Sirve para administrar interfaces de red, modificar las tablas de ruta, establecer el modo promiscuo, etc.

netfilter: ip_tables: fix infoleak to userspace
http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=78b79876761b86653df89c48a7010b5cbd41a84a

ipv6: netfilter: ip6_tables: fix infoleak to userspace
http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=6a8ab060779779de8aea92ce3337ca348f973f54

netfilter: arp_tables: fix infoleak to userspace
http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=42eab94fff18cb1091d3501cd284d6bd6cc9c143


Alejandro J. Gómez López
agomez@hispasec.com



No hay comentarios:

Publicar un comentario en la entrada