Er is weer een nieuwe exploit gevonden in de kernel. Door een simpel C-programmatje kun je in userspace een systeem laten crashen. Weet niet of het al eerder gemeld is hier, of dat er al officiële patches zijn. Vulnerable kernels:
Linux 2.6.x
2.6.7-rc2
2.6.6 (vanilla)
2.6.6-rc1 SMP (verified by blaise)
2.6.6 SMP (verified by riven)
2.6.6-debian (verified by arturaz)
2.6.5-gentoo (verified by RatiX)
2.6.5-mm6 - (verified by Mariux)
2.6.5 (fedora core 2 vanilla)
2.6.3-13mdk (Mandrake)
Linux 2.4.2x
2.4.26 vanilla
2.4.26, grsecurity 2.0 config
2.4.26-rc1 vanilla
2.4.26-gentoo-r1
2.4.22
2.4.22-1.2188 Fedora FC1 Kernel
2.4.20 RH7.3 (gcc 2.96)
2.4.18-bf2.4 (debian woody vanilla)
Wat ik eruit kan opmaken is dat het alleen voor de x86 en x86_64 architecturen geldt. Eerst maar de patch voor de 2.4.x kernels:
Een patch voor de 2.6.x serie:
DOE MAAR NIET!
Bron: http://linuxreviews.org/n...1_kernel_crash/index.html
Linux 2.6.x
2.6.7-rc2
2.6.6 (vanilla)
2.6.6-rc1 SMP (verified by blaise)
2.6.6 SMP (verified by riven)
2.6.6-debian (verified by arturaz)
2.6.5-gentoo (verified by RatiX)
2.6.5-mm6 - (verified by Mariux)
2.6.5 (fedora core 2 vanilla)
2.6.3-13mdk (Mandrake)
Linux 2.4.2x
2.4.26 vanilla
2.4.26, grsecurity 2.0 config
2.4.26-rc1 vanilla
2.4.26-gentoo-r1
2.4.22
2.4.22-1.2188 Fedora FC1 Kernel
2.4.20 RH7.3 (gcc 2.96)
2.4.18-bf2.4 (debian woody vanilla)
Wat ik eruit kan opmaken is dat het alleen voor de x86 en x86_64 architecturen geldt. Eerst maar de patch voor de 2.4.x kernels:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
| Respin of the 2.6 version that went into BK head some hours ago.
- atomt
diff -Naur linux-2.4.26/include/asm-i386/i387.h linux-2.4.26-1/include/asm-i386/i387.h
--- linux-2.4.26/include/asm-i386/i387.h 2002-08-03 02:39:45.000000000 +0200
+++ linux-2.4.26-1/include/asm-i386/i387.h 2004-06-13 05:21:51.000000000 +0200
@@ -34,7 +34,7 @@
#define clear_fpu( tsk ) do { \
if ( tsk->flags & PF_USEDFPU ) { \
- asm volatile("fwait"); \
+ asm volatile("fnclex ; fwait"); \
tsk->flags &= ~PF_USEDFPU; \
stts(); \
} \
diff -Naur linux-2.4.26/include/asm-x86_64/i387.h linux-2.4.26-1/include/asm-x86_64/i387.h
--- linux-2.4.26/include/asm-x86_64/i387.h 2003-08-25 13:44:44.000000000 +0200
+++ linux-2.4.26-1/include/asm-x86_64/i387.h 2004-06-13 05:27:55.000000000 +0200
@@ -34,7 +34,7 @@
#define clear_fpu( tsk ) do { \
if ( tsk->flags & PF_USEDFPU ) { \
- asm volatile("fwait"); \
+ asm volatile("fnclex ; fwait"); \
tsk->flags &= ~PF_USEDFPU; \
stts(); \
} \ |
Een patch voor de 2.6.x serie:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
| This went in to 2.6 bk head, so it should be OK.
- atomt
diff -Naur linux-2.6.7-rc3-bk4/include/asm-i386/i387.h linux-2.6.7-rc3-bk4-1/include/asm-i386/i387.h
--- linux-2.6.7-rc3-bk4/include/asm-i386/i387.h 2004-05-10 04:33:06.000000000 +0200
+++ linux-2.6.7-rc3-bk4-1/include/asm-i386/i387.h 2004-06-13 07:17:07.000000000 +0200
@@ -51,7 +51,7 @@
#define __clear_fpu( tsk ) \
do { \
if ((tsk)->thread_info->status & TS_USEDFPU) { \
- asm volatile("fwait"); \
+ asm volatile("fnclex ; fwait"); \
(tsk)->thread_info->status &= ~TS_USEDFPU; \
stts(); \
} \
diff -Naur linux-2.6.7-rc3-bk4/include/asm-x86_64/i387.h linux-2.6.7-rc3-bk4-1/include/asm-x86_64/i387.h
--- linux-2.6.7-rc3-bk4/include/asm-x86_64/i387.h 2004-06-13 06:41:35.000000000 +0200
+++ linux-2.6.7-rc3-bk4-1/include/asm-x86_64/i387.h 2004-06-13 07:17:35.000000000 +0200
@@ -48,7 +48,7 @@
#define clear_fpu(tsk) do { \
if ((tsk)->thread_info->status & TS_USEDFPU) { \
- asm volatile("fwait"); \
+ asm volatile("fnclex ; fwait"); \
(tsk)->thread_info->status &= ~TS_USEDFPU; \
stts(); \
} \ |
DOE MAAR NIET!
Bron: http://linuxreviews.org/n...1_kernel_crash/index.html
[ Voor 28% gewijzigd door Zwerver op 17-06-2004 10:51 ]