Bueno, hay que aclarar que inicié el el análisis con enfoque
Bottom-up a 1 nivel nada más, es decir, que solamente salí de la función vulnerable y no seguí subiendo niveles (funciones) para ver si los parámetros podían ser controlados por el usuario.
Esto no es del todo cierto, ya que el orden en el que se almacenan los bits dependerá de la arquitectura del procesador (Big Endian o Little Endian), así que sería más correcto decir que el bit de mayor peso (independientemente de donde se almacene) es el que se reserva para definir el signo en caso de interpretar el entero como SIGNED
Claro, supongo que la mayoría que siguió este post tenía en consideración el
endianess de las arquitecturas.
Ivanchuck:
Me parece que un kernel panic en user-land no creo que se pueda provocar.
El código que puse del ELFcrash por ahí puse que era un ejemplo pero en user-land, un crash de un programa cuando intenta acceder a una dir. de memoria inválida, tal cual podría ser el caso en este bug de kernel. Y desde user-land como tal, tengo entendido que no puedes kernel panics, PERO !, si puedes pasarle parámetros al kernel desde user-land, este los malinterpreta y muere con un bonito panic.
Ejemplos? Slide #35
http://www.brainoverflow.org/presentations/ELF%20EN%20LA%20MIRA%20-%20HACKING%20Y%20DEFENSA%20-%20ENLI%2008.pdfScreenshot??
http://www.brainoverflow.org/misc/nitr0us%20kernel%20panic.bmpSaludos.