Linux для всех

индекс
247,21

В ядре Linux найдена серьезная уязвимость

Во всех ядрах Linux'a версии 2.6.х найдена уязвимость позволяющая локальному юзеру выполнить свой код с root-привилегиями. Проблема эта вызвана из-за возможности разыменования NULL-указателя при выполнения определенных действий с пайпами.
В качестве метода защиты можно запретить маппинг страниц по нулевому адресу через установку в отличного от нуля значения переменной /proc/sys/vm/mmap_min_addr.
К счастью проблема исправлена в 2.6.32-rc6, а владельцы Red Hat Enterprise могут все исправить через обновление. Остальные линуксоиды ждите апдейта, или патч для ваших ядер

Список уязвимых ядер
+48
4 ноября 2009, 19:35
7

комментарии (59)

+3
BarsMonster #
Эксплоит в студию :-)
Хотим протестить (на своих серверах естессно) :-)
+1
anclrej #
+1
Bkmz #
А где там код, чтобы вываливалась строчка рута?)
0
Gorthauer87 #
Скрипт там есть, но он естественно не работает ибо во всех вменяемых дистрах
/proc/sys/vm/mmap_min_addr мапится не с нуля
+1
koct9i #
этот скрип только триггерит BUG, чтоб исполнить свой код в ядре нужно ещё замапить на нулевой адрес нетривиальную конструкцию.
0
AnatolyB #
Я правильно понимаю, что если даже mmap_min_addr > 0 и сработает ошибочный код, то будет kernel panic?
+2
koct9i #
это будет не фатальный panic — таску ядро прибьёт и дальше полетит.
разве что инодный мютекс останется залоченным, с ним уже ничего нельзя сделать.
так можно выжрать некоторое количество памяти/пидов, устроить дос, но рута так не получить и систему полностью не обрушить.
+9
xdemon #
Переменная /proc/sys/vm/mmap_min_addr у меня ни на одной машине не была равна нулю.
0
antek #
Спасибо!
+4
Gorthauer87 #
Серьезная да? Ну попробуйте воспользоваться, ssh доступ могу дать
0
mrded #
давай
0
FreeBSD #
213.186.115.50
+3
alexevil #
Хмм, на всех моих ubuntu серверах переменная /proc/sys/vm/mmap_min_addr не равна нулю
–1
alexevil #
изначально. Видимо не все дистрибутивы это касается
0
ekzo #
на одном из моих десктопов значение 65536, на другом 0.

я пока ещё не понял сути, нужно бы покурить маны.
0
Fragster #
Вроде как при установке wine устанавливается в 0. а если учесть, что под вайном некоторые трояны уже начинают работать…
0
phaoost #
у меня установлен вайн,
~# cat /proc/sys/vm/mmap_min_addr
65536
0
G3N1USS #
cat /proc/sys/vm/mmap_min_addr
0
Черт, убунту 9.04. Ядро 2.6.30.4
0
stampoon #
>В качестве метода защиты можно запретить маппинг страниц по нулевому адресу через установку в
>отличного от нуля значения переменной /proc/sys/vm/mmap_min_addr.
а оно у кого-то равно нулю? оО
0
Gnuava #
Удивительно, но на стабильной ветке дебиана с ядром искаропки 2.6.26-2-686 оно равно нулю :)
0
mazy #
Linux xxx 2.6.30-1-686-bigmem #1 SMP Sat Aug 15 20:10:47 UTC 2009 i686 GNU/Linux
$ cat /proc/sys/vm/mmap_min_addr
4096

Debian unstable
0
evil_random #
router:~# uname -a
Linux router 2.6.26-2-486 #1 Fri Oct 23 23:17:26 UTC 2009 i686 GNU/Linux
router:~# cat /proc/sys/vm/mmap_min_addr
4096

router:/home/random# uname -a
Linux router 2.6.26-2-686 #1 SMP Wed Aug 19 06:06:52 UTC 2009 i686 GNU/Linux
router:/home/random# cat /proc/sys/vm/mmap_min_addr
0

fm:/home/random# uname -a
Linux fm 2.6.27.10-dvb #1 SMP Wed Oct 28 18:27:44 EET 2009 i686 GNU/Linux
fm:/home/random# cat /proc/sys/vm/mmap_min_addr
0

server:~# uname -a
Linux server 2.6.26-2-openvz-686 #1 SMP Mon May 11 20:27:15 UTC 2009 i686 GNU/Linux
server:~# cat /proc/sys/vm/mmap_min_addr
cat: /proc/sys/vm/mmap_min_addr: No such file or directory

–1
Frosty #
Нашли уязвимость говорите? Я примерно год назад слышал и о баге и о решении, как то медленно новости доползают.
+1
koct9i #
этот свежий. null-pointer dereference регулярно возникают но большинство имеет такую превентивную защиту.
0
Etherial #
Видать не только до хабра, но и до багтрекера тоже :)

Кстати на багтрекере серьезность уязвимости отмечена не как высокая, а как обычная, правда с самым высоким приоритетом устранения. Ох уж эти желтые заголовки.
0
Gorthauer87 #
Ты патч видел? Уязвимость устраняется очень быстро, от того лучше сразу с ней разделаться и жить долго и счастливо
+4
epRVaA #
$ cat /proc/sys/vm/mmap_min_addr
0

как-то так. ubuntu karmic
+1
stigger #
как-же как?
+4
koct9i #
это wine виноват. его потроха в /etc/sysctl.d
+2
Frosty #
$ cat /proc/sys/vm/mmap_min_addr
65536

как-то вот так. та же самая ubuntu karmic
0
mazy #
аналогично
karmic
$ cat /proc/sys/vm/mmap_min_addr
65536

Linux ws 2.6.31-14-generic #48-Ubuntu SMP Fri Oct 16 14:04:26 UTC 2009 i686 GNU/Linux
0
anclrej #
Значение переменной не устраняет ошибку в ядре, смотрите патч.
+1
Qiwichupa #
$ cat /proc/sys/vm/mmap_min_addr
65536
кармик x64
НЛО прилетело и опубликовало эту надпись здесь
0
Clash #
свежепоставленный Ubuntu Karmic

$ uname -rv
2.6.31-11-server #38-Ubuntu SMP Fri Oct 2 12:00:04 UTC 2009

$ cat /proc/sys/vm/mmap_min_addr
65536
0
Clash #
ай, это был rc :) но в файлнал тоже самое:

$ uname -rv
2.6.31-14-server #48-Ubuntu SMP Fri Oct 16 15:07:34 UTC 2009

$ cat /proc/sys/vm/mmap_min_addr
65536
–1
intelligence #
$ uname -rv
2.6.31-14-generic-pae #48-Ubuntu SMP Fri Oct 16 15:22:42 UTC 2009

+1
intelligence #
$ cat /proc/sys/vm/mmap_min_addr
65536

ууу, шайтан-вайн. и тут напортачил…
+2
Power #
Да, wine хитёр:

$ cat /proc/sys/vm/mmap_min_addr
0
$ cat /etc/sysctl.d/wine.sysctl.conf
# Wine needs to access the bottom 64k of memory in order to launch
# 16 bit programs.
vm.mmap_min_addr = 0
+1
ICD2 #
bond@bond-laptop:~$ cat /proc/sys/vm/mmap_min_addr
65536

bond@bond-laptop:~$ lsb_release -a
Distributor ID: Ubuntu
Description: Ubuntu 9.10
Release: 9.10
Codename: karmic
–9
Bobos #
C:\>cat /proc/sys/vm/mmap_min_addr
'cat' is not recognized as an internal or external command,
operable program or batch file.

\,,/,
–1
stas_agarkov #
в линукс перезагрузись
НЛО прилетело и опубликовало эту надпись здесь
0
sdvn #
23:27 sdvn-laptop% uname -a
Linux sdvn-laptop 2.6.31-14-generic #48-Ubuntu SMP Fri Oct 16 14:05:01 UTC 2009 x86_64 GNU/Linux
23:27 sdvn-laptop% cat /etc/issue
Ubuntu 9.10 \n \l

23:27 sdvn-laptop% cat /proc/sys/vm/mmap_min_addr
65536

как-то так.
ubuntu x86_64 (=amd64).
0
csound #
+1
FLAKON #
я то думал что случилось :) на мой взгляд ничего серьезного…
–6
dobry_kolbasnik #
короче, очередная брехня и пустозвонство в стиле «линукс маздай» Фу!
какая мерзость.

bash-3.1$ cat /proc/sys/vm/mmap_min_addr
4096

Slackware64 13.0 (конфиг, правда, собственный)

+1
temujin #
Неслабый списочек.
+2
drunken #
# cat /proc/sys/vm/mmap_min_addr
cat: /proc/sys/vm/mmap_min_addr: Нет такого файла или каталога
0
thecoder #
Может у вас еще и ядро 2.4.x?
:)
0
Sindorian #
А может и фряха какая-нибудь
0
johndow #
затверждаю )
2.6.16.27-061216a #1 SMP
0
soshial #
а почему в списке только linux kernel и suse ядра?
других нету?
0
DeNnEr #
iorlas@lastangel:~$ cat /proc/sys/vm/mmap_min_addr
0

NNNNOOOOOO!
Вообще радуют такие «баги». Даже таким, с виду небольшим, дырам отдают столько внимания и ставят высший приоритет в багтрекерах. Приятно думать что ты сидишь на ядре, которое писали, пишут и поддерживают параноики, в самом хорошем смысле этого слова =)
+1
Sindorian #
Ubuntu 9.04 (Jaunty Jackalope)

$ cat /proc/sys/vm/mmap_min_addr
0

$ cat /etc/sysctl.d/30-wine.conf
# Wine needs to access the bottom 64k of memory in order to launch
# 16 bit programs.
vm.mmap_min_addr = 0
+1
firstbyte #
Мастурбирующие обезьяны наносят ответный удар!
Как известно, OpenBSD исправили подобную ошибку год назад.

«For the record, this particular problem was resolved in OpenBSD a
while back, in 2008. We are not super proud of the solution, but it
is what seems best faced with a stupid Intel architectural choice.
However, it seems that everyone else is slowly coming around to the
same solution.»
0
ivlis #
opensuse 11.1, wine не установлен.

cat /proc/sys/vm/mmap_min_addr
65536
+2
paratrooper5730 #
И хоть бы один написал, как её менять…
вот, может пригодится кому

# echo «vm.mmap_min_addr = 4096» > /etc/sysctl.d/mmap_min_addr.conf
# /etc/init.d/procps restart
0
Enlightened #
Спасибо!

Только зарегистрированные пользователи могут оставлять комментарии. Войдите, пожалуйста.