|
|
ru.linux- RU.LINUX --------------------------------------------------------------------- From : Andrey Ulanov 2:5020/400 03 Jan 2003 13:32:48 To : Valery Efanov Subject : Re: Падение пингвина --------------------------------------------------------------------------------
Valery Efanov wrote:
> VK> Если ядро до 2.4.20 и непатченное от этой дырки - то запросто.
> VK> Эксплоит взят с online.securityfocus.bom/bid (можно найти по фразам
> VK> "Linux 2.4" и "TF flag"). Компилируешь, запускаешь любым юзером, потом
> VK> жмешь ресет или power :-)
> Мда... моё 2.4.18-3 в панику сразу побежало 8(
> Где патч достать от сей болезни?
Патч от Линуса, подправленный мною для 2.4:
- --- linux-2.4.19/arch/i386/kernel/entry.S.old Sun Nov 17 22:43:04 2002
+++ linux-2.4.19/arch/i386/kernel/entry.S Sun Nov 17 22:40:48 2002
@@ -63,7 +63,9 @@
OLDSS = 0x38
CF_MASK = 0x00000001
+TF_MASK = 0x00000100
IF_MASK = 0x00000200
+DF_MASK = 0x00000400
NT_MASK = 0x00004000
VM_MASK = 0x00020000
@@ -142,6 +144,17 @@
movl %eax,EFLAGS(%esp) #
movl %edx,EIP(%esp) # Now we move them to their "normal" places
movl %ecx,CS(%esp) #
+
+ #
+ # Call gates don't clear TF and NT in eflags like
+ # traps do, so we need to do it ourselves.
+ # %eax already contains eflags (but it may have
+ # DF set, clear that also)
+ #
+ andl $~(DF_MASK | TF_MASK | NT_MASK),%eax
+ pushl %eax
+ popfl
+
movl %esp,%ebx
pushl %ebx
andl $-8192,%ebx # GET_CURRENT
@@ -163,6 +176,17 @@
movl %eax,EFLAGS(%esp) #
movl %edx,EIP(%esp) # Now we move them to their "normal" places
movl %ecx,CS(%esp) #
+
+ #
+ # Call gates don't clear TF and NT in eflags like
+ # traps do, so we need to do it ourselves.
+ # %eax already contains eflags (but it may have
+ # DF set, clear that also)
+ #
+ andl $~(DF_MASK | TF_MASK | NT_MASK),%eax
+ pushl %eax
+ popfl
+
movl %esp,%ebx
pushl %ebx
andl $-8192,%ebx # GET_CURRENT
--
with best regards, Andrey Ulanov.
--- ifmail v.2.15dev5
* Origin: MTU-Intel ISP (2:5020/400)
Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.linux/15425bb4ece10.html, оценка из 5, голосов 10
|