Esta es sacada de:
www.iblnews.com
Las versiones de Linux con kernel 2.4.* son susceptibles a que un atacante local obtenga privilegios especiales. La función "ioperm" no comprueba sus permisos de acceso adecuadamente, lo que posibilita que un atacante local acceda a puertos de entrada/salida de forma indiscriminada.
Gracias a que Linux es "Open Source", es posible proporcionar un parche simple que soluciona este problema:
>>>>>
diff -urN linux-2.5.64-bk5/arch/i386/kernel/ioport.c
linux/arch/i386/kernel/ioport.c
- --- linux-2.5.64-bk5/arch/i386/kernel/ioport.c 2003-02-24 14:59:03.000000000 -0500 +++ linux/arch/i386/kernel/ioport.c 2003-03-14 10:19:48.000000000 -0500
@@ -84,15 +84,17 @@
t->ts_io_bitmap = bitmap;
}
- - tss = init_tss + get_cpu();
- - if (bitmap)
- - tss->bitmap = IO_BITMAP_OFFSET; /* Activate it in the TSS */
- -
/*
* do it in the per-thread copy and in the TSS ...
*/
set_bitmap(t->ts_io_bitmap, from, num, !turn_on);
- - set_bitmap(tss->io_bitmap, from, num, !turn_on);
+ tss = init_tss + get_cpu();
+ if (tss->bitmap == IO_BITMAP_OFFSET) { /* already active? */
+ set_bitmap(tss->io_bitmap, from, num, !turn_on);
+ } else {
+ memcpy(tss->io_bitmap, t->ts_io_bitmap, IO_BITMAP_BYTES);
+ tss->bitmap = IO_BITMAP_OFFSET; /* Activate it in the TSS */
+ }
put_cpu();
out:
return ret;
<<<<<
El ataque es válido para los kernel 2.4.* y para los kernel 2.5.69 e inferiores.
Es de destacar que en las últimas seis semanas se han encontrado tres problemas de seguridad importantes en las versiones actuales de los kernel Linux (2.4.*). Siguiendo la historia Linux desde sus inicios, lo habitual hubiera sido que, a estas alturas, se hubiera publicado ya la versión 2.4.21, solucionando estos problemas. Aún si la versión de 2.4.21 actual de desarrollo no estuviese lista, lo natural parecería publicar una versión 2.4.21 "interim" con estos problemas de seguridad solucionados, y renombrar la versión 2.4.21 en desarrollo a 2.4.22.
Coincidiendo con el cambio de "director de proyecto" del kernel 2.4.* a Marcelo Tosatti, los ciclos de publicación de nuevos kernel se han alargado considerablemente. Esperemos que se trate de una situación transitoria y que se regrese a los ciclos de dos o tres meses, sobre todo ante problemas de vulnerabilidades como los vividos en las últimas semanas.
Más Información:
Bug 703 New: Security vulnerability in "ioperm" system call
http://marc.theaimsgroup.com/?l=linu...1679705571&w=2
23/03/2003 - Fallo de seguridad (local) en los núcleos de Linux anteriores a 2.2.25 y 2.4.21
http://www.hispasec.com/unaaldia/1610