The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  вход/выход  слежка  RSS
"Уязвимость в LXC, позволяющая получить доступ к файлам вне к..."
Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Изначальное сообщение [ Отслеживать ]

"Уязвимость в LXC, позволяющая получить доступ к файлам вне к..."  +/
Сообщение от opennews (ok) on 27-Ноя-16, 12:10 
В инструментарии управления изолированными контейнерами LXC выявлена (http://openwall.com/lists/oss-security/2016/11/23/6) уязвимость (CVE-2016-8649 (https://security-tracker.debian.org/tracker/CVE-2016-8649)), позволяющая (https://bugs.launchpad.net/ubuntu/+source/lxc/+bug/1639345) при наличии прав root внутри непривилегированного контейнера (работающего в отдельном user namespace) получить доступ к файлам хост-системы и выполнить свой код вне изолированного окружения.

Атака может быть совершена при запуске в контейнере процессов при помощи утилиты lxc-attach. Пользователь root в контейнере имеет возможность влиять на работу утилиты lxc-attach, что, в сочетании с достаточно просто достигаемым состоянием гонки (https://ru.wikipedia.org/wiki/%D0%A1%D0%...) при выполнении lxc-attach, может привести к отключению ограничений и получению доступа к хост-системе. Уязвимость охватывает две проблемы: использование в lxc-attach данных из источников, подконтрольных пользователю контейнера, и возможность применения вызова ptrace для экземпляров lxc-attach, созданных в другом пространстве пользователей (root из контейнера может получить доступ к процессу, созданному во внешнем user namespace).


В частности, lxc-attach оставляет открытым файловый дескриптор к одному из файлов /proc на стороне хост-системы, что позволяет атакующему получить чего него доступ к остальным частям файловой системы, используя системные вызовы семейства openat(). В том числе через файловый дескриптор могут быть записаны данные в файлы  /proc/PID/attr/current или /proc/PID/attr/exec на стороне хост-системы для установки меток AppArmor и SELinux к прикреплённому процессу, что даёт возможность отключить сброс привилегий для процесса, запускаемого при помощи lxc-attach.


Уязвимость уже устранена в Ubuntu  Linux (https://www.ubuntu.com/usn/usn-3136-1/) и ожидает исправления в Debian (https://security-tracker.debian.org/tracker/CVE-2016-8649), RHEL/CentOS (https://bugzilla.redhat.com/show_bug.cgi?id=CVE-2016-8649), Fedora (https://bugzilla.redhat.com/show_bug.cgi?id=1398243), Fedora EPEL (https://bugzilla.redhat.com/show_bug.cgi?id=1398245) и  SUSE/openSUSE (https://bugzilla.novell.com/show_bug.cgi?id=CVE-2016-8649). Патч (https://github.com/lxc/lxc/commit/81f466d05f2a89cb4f122ef7f5...) для блокирования уязвимости принят в дерево исходных текстов LXC, но для полного устранения возможных альтернативных векторов атаки также требуется внесение исправлений (https://lists.linuxfoundation.org/pipermail/containers/2016-...) в ядро Linux для реализации проверки прав доступа к ptrace с учётом user namespace.

URL: http://openwall.com/lists/oss-security/2016/11/23/6
Новость: http://www.opennet.dev/opennews/art.shtml?num=45573

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


2. "Уязвимость в LXC, позволяющая получить доступ к файлам вне к..."  –2 +/
Сообщение от KonstantinB (ok) on 27-Ноя-16, 12:35 
Давать кому попало рута в контейнере - это уже заведомо хождение по минному полю. Такие уязвимости, боюсь, будут всегда.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

4. "Уязвимость в LXC, позволяющая получить доступ к файлам вне к..."  –2 +/
Сообщение от Аноним (??) on 27-Ноя-16, 12:57 
> Давать кому попало рута в контейнере - это уже заведомо хождение по
> минному полю. Такие уязвимости, боюсь, будут всегда.

LXC просто изначально не хотели делать рута внутри контейнеров, ну а потом по-быстрому накрутили, вот и результат

Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

6. "Уязвимость в LXC, позволяющая получить доступ к файлам вне к..."  +1 +/
Сообщение от KonstantinB (ok) on 27-Ноя-16, 13:14 
Да фиг с ним, с lxc, тут основная проблема в ptrace().
Ответить | Правка | ^ к родителю #4 | Наверх | Cообщить модератору

7. "Уязвимость в LXC, позволяющая получить доступ к файлам вне к..."  +/
Сообщение от KonstantinB (ok) on 27-Ноя-16, 13:18 
Ну, то есть как. Не хотели, потому что ядро не обеспечивало достаточной изоляции само по себе. Проверки в юзерспейсе - это заведомо ненадежный способ.
Ответить | Правка | ^ к родителю #4 | Наверх | Cообщить модератору

17. "Уязвимость в LXC, позволяющая получить доступ к файлам вне к..."  +1 +/
Сообщение от Аноним (??) on 27-Ноя-16, 16:11 
> Ну, то есть как. Не хотели, потому что ядро не обеспечивало достаточной
> изоляции само по себе. Проверки в юзерспейсе - это заведомо ненадежный
> способ.

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

Мне LXC больше напоминает Linux-Vserver, но второй из этого списка уже слабо активен

Ответить | Правка | ^ к родителю #7 | Наверх | Cообщить модератору

11. "Уязвимость в LXC, позволяющая получить доступ к файлам вне к..."  +2 +/
Сообщение от Anonymous_1 on 27-Ноя-16, 14:46 
Смысл тогда в контейнере, если рута не давать?)
Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

12. "Уязвимость в LXC, позволяющая получить доступ к файлам вне к..."  –3 +/
Сообщение от username (??) on 27-Ноя-16, 15:23 
Хм, ну поясни зачем тебе там рут, просто интересно.
Ответить | Правка | ^ к родителю #11 | Наверх | Cообщить модератору

13. "Уязвимость в LXC, позволяющая получить доступ к файлам вне к..."  +/
Сообщение от хомяк on 27-Ноя-16, 15:33 
Как запустить nginx без root?
Ответить | Правка | ^ к родителю #12 | Наверх | Cообщить модератору

18. "Уязвимость в LXC, позволяющая получить доступ к файлам вне к..."  +4 +/
Сообщение от username (??) on 27-Ноя-16, 16:53 
Так же как и с рутом.
Единственная привилегия, которая может понадобиться вебсерверу, это возможность слушать на портах < 1024. Что вполне решается навешиванием атрибутов (привилегий) на бинарник nginx
Ответить | Правка | ^ к родителю #13 | Наверх | Cообщить модератору

45. "Уязвимость в LXC, позволяющая получить доступ к файлам вне к..."  +/
Сообщение от Аноним (??) on 28-Ноя-16, 08:20 
> Что вполне решается навешиванием атрибутов (привилегий) на бинарник nginx

И опять наступаешь на те же грабли, только в профиль. Либо режешь права группе и навешиваешь на бинарник, запрещаешь некоторые системные вызовы, тогда да, возможно. И то из контейнера можно будет выйти через какую-нибудь уязвимость нулевого-дня.

Ответить | Правка | ^ к родителю #18 | Наверх | Cообщить модератору

59. "Уязвимость в LXC, позволяющая получить доступ к файлам вне к..."  +/
Сообщение от Аноним (??) on 29-Ноя-16, 00:45 
Непривилегированные контейнеры с разрешенным CAP_NET_BIND_SERVICE
Ответить | Правка | ^ к родителю #45 | Наверх | Cообщить модератору

48. "Уязвимость в LXC, позволяющая получить доступ к файлам вне к..."  +/
Сообщение от PnDx (ok) on 28-Ноя-16, 15:06 
Порт за-DNAT-ить. Обычно приемлемо, если в conntrack не упирается. (Но где это проблема, там lxc с iptables'ами по фигу наверное, т.к. netmap и прочее интересное.)
Ответить | Правка | ^ к родителю #18 | Наверх | Cообщить модератору

21. "Уязвимость в LXC, позволяющая получить доступ к файлам вне к..."  +11 +/
Сообщение от Аноним (??) on 27-Ноя-16, 18:42 
> Как запустить nginx без root?

Уже дюжину лет как


sysctl security.mac.portacl.rules=uid:80:tcp:80

Ответить | Правка | ^ к родителю #13 | Наверх | Cообщить модератору

49. "Уязвимость в LXC, позволяющая получить доступ к файлам вне к..."  +/
Сообщение от PnDx (ok) on 28-Ноя-16, 15:08 
> Уже дюжину лет как
>
 
> sysctl security.mac.portacl.rules=uid:80:tcp:80
>

# sysctl -a | grep  security | wc -l
0
У Вас таки фрюха?

Ответить | Правка | ^ к родителю #21 | Наверх | Cообщить модератору

52. "Уязвимость в LXC, позволяющая получить доступ к файлам вне к..."  –3 +/
Сообщение от Аноним (??) on 28-Ноя-16, 17:31 
> # sysctl -a | grep  security | wc -l
> 0
> У Вас таки фрюха?

Ну да. Я думал, раньше кто догадается.
А что, в пингвины такие вещи еще не завезли? oO
Тогда пожалуйста:
https://github.com/freebsd/freebsd/blob/master/sys/security/...
Хотя у вас вроде как setcap + CAP_NET_BIND_SERVICE есть ;)

Да и в целом просто прикольный эксперимент - вон, пока не знали, накрутили 6 плюсов, теперь можно посмотреть, насколько классовая неприязнь преобладает над здравым смыслом )

Кстати, man grep
> -c    Выдает только количество строк, содержащих образец.
>

Ответить | Правка | ^ к родителю #49 | Наверх | Cообщить модератору

53. "Уязвимость в LXC, позволяющая получить доступ к файлам вне к..."  +/
Сообщение от Michael Shigorin email(ok) on 28-Ноя-16, 18:19 
> Да и в целом просто прикольный эксперимент - вон, пока не знали

Кто как :)

> накрутили 6 плюсов

Держите седьмой для ровного счёта.

Ответить | Правка | ^ к родителю #52 | Наверх | Cообщить модератору

58. "Уязвимость в LXC, позволяющая получить доступ к файлам вне к..."  –2 +/
Сообщение от pavlinux (ok) on 29-Ноя-16, 00:00 
$ sysctl security.mac.portacl.rules=uid:80:tcp:80
sysctl: Permission denied

Оттака ..ня, ребяты

Ответить | Правка | ^ к родителю #21 | Наверх | Cообщить модератору

14. "Уязвимость в LXC, позволяющая получить доступ к файлам вне к..."  +/
Сообщение от angra (ok) on 27-Ноя-16, 15:33 
Начни с рассказа, зачем тебе вообще рут где-либо. Может в процессе и сам поймешь. Контейнер ничем особо не отличается от железной машины для большинства задач.
Ответить | Правка | ^ к родителю #12 | Наверх | Cообщить модератору

37. "Уязвимость в LXC, позволяющая получить доступ к файлам вне к..."  +/
Сообщение от Аноним (??) on 27-Ноя-16, 22:42 
> Начни с рассказа, зачем тебе вообще рут где-либо. Может в процессе и
> сам поймешь. Контейнер ничем особо не отличается от железной машины для
> большинства задач.

что бы запускать свои сервисы - а не те которые хостер за меня решил запустить.
к пример потунелировать openvpn через 443 порт.

Ответить | Правка | ^ к родителю #14 | Наверх | Cообщить модератору

39. "Уязвимость в LXC, позволяющая получить доступ к файлам вне к..."  +/
Сообщение от angra (ok) on 27-Ноя-16, 22:52 
Тебе надо помочь сделать следующий шаг? Если рут тебе обычно нужен для запуска своих сервисов, то рут в контейнере тебе нужен ... для запуска в нем своих сервисов. Неожиданно, правда?
Ответить | Правка | ^ к родителю #37 | Наверх | Cообщить модератору

15. "Уязвимость в LXC, позволяющая получить доступ к файлам вне к..."  +/
Сообщение от angra (ok) on 27-Ноя-16, 15:34 
Расскажи это хостерам с openvz, они посмеются. А тем, кто заикнется про XEN и прочая, можно напомнить, сколько уязвимостей было там.
Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

22. "Уязвимость в LXC, позволяющая получить доступ к файлам вне к..."  +/
Сообщение от KonstantinB (ok) on 27-Ноя-16, 19:11 
В openvz похожие уязвимости были.
Ответить | Правка | ^ к родителю #15 | Наверх | Cообщить модератору

29. "Уязвимость в LXC, позволяющая получить доступ к файлам вне к..."  +6 +/
Сообщение от angra (ok) on 27-Ноя-16, 20:28 
Уязвимости находили практически везде. Объявишь весь софт минным полем и откажешься от него?
Ответить | Правка | ^ к родителю #22 | Наверх | Cообщить модератору

33. "Уязвимость в LXC, позволяющая получить доступ к файлам вне к..."  +1 +/
Сообщение от KonstantinB (ok) on 27-Ноя-16, 21:55 
Это был ответ на "расскажи хостерам".

В целом же, openvz изначально сделан грамотно. Openvz - это прежде всего патчи на ядро, достичь безопасности на дырявом ядре за счет проверок в userspace там никому в голову не приходило.

lxc же это просто юзерспейсный набор инструментов, упрощающих использование linux containers/namespaces/cgroups. Говорить о его безопасности вообще не имеет смысла, его безопасность равна безопасности ядра. И патчи, подобные вот этой ерунде, на которую ссылка - это лечение симптомов, костыль, затыкающий один из бесконечного числа возможных векторов атаки.

Реально уязвимость в ядре, в реализации ptrace(). В ядре уязвимости всегда были и еще много найдут, их там исправят, это нормально. Ненормально пихать userspace-затычки на один частный случай и называть это security fix.

Ответить | Правка | ^ к родителю #29 | Наверх | Cообщить модератору

36. "Уязвимость в LXC, позволяющая получить доступ к файлам вне к..."  +2 +/
Сообщение от Аноним (??) on 27-Ноя-16, 22:40 
> В целом же, openvz изначально сделан грамотно

еще бы. долгое время тестировали на бесплатных юзерах, прежде чем закрыть его.
Все же помним - как SWSoft - (тогда так назывался) взял и закрыл и никому не давал свои патчи на ядро.

Ответить | Правка | ^ к родителю #33 | Наверх | Cообщить модератору

38. "Уязвимость в LXC, позволяющая получить доступ к файлам вне к..."  –2 +/
Сообщение от angra (ok) on 27-Ноя-16, 22:45 
> достичь безопасности на дырявом ядре за счет проверок в userspace там никому в голову не приходило
> его безопасность равна безопасности ядра.

Ты уже отказался от дырявого линуксового ядра или еще ходишь по этому минному полю? Или ты вообще считаешь, что ходить по минному полю это нормально так как "В ядре уязвимости всегда были и еще много найдут, их там исправят, это нормально"? Тогда к чему вообще был пассаж про рута в контейнере?

Ответить | Правка | ^ к родителю #33 | Наверх | Cообщить модератору

40. "Уязвимость в LXC, позволяющая получить доступ к файлам вне к..."  +1 +/
Сообщение от KonstantinB (ok) on 27-Ноя-16, 22:55 
Я имел ввиду linux containers в их текущем состоянии, а не какие-нибудь там абстрактные контейнеры.
Ответить | Правка | ^ к родителю #38 | Наверх | Cообщить модератору

42. "Уязвимость в LXC, позволяющая получить доступ к файлам вне к..."  +/
Сообщение от angra (ok) on 28-Ноя-16, 00:02 
Теперь стало понятней и я даже частично согласен. По-крайней мере давать чистого рута без отображения через namespaces точно не стоит. Но и с непривилегированными как видим могут быть некоторые проблемы.

Ответить | Правка | ^ к родителю #40 | Наверх | Cообщить модератору

43. "Уязвимость в LXC, позволяющая получить доступ к файлам вне к..."  +/
Сообщение от Валик228 on 28-Ноя-16, 04:57 
> В целом же, openvz изначально сделан грамотно. Openvz - это прежде всего патчи на ядро, достичь безопасности на дырявом ядре за счет проверок в userspace там никому в голову не приходило.

в целом же, ты чушь морозишь несусветную ибо некомпетентен совершенно.
openvz 10 лет тому возможно таким и было. сейчас опенвз целиком работает на неймспейсе, цпусетах и прочих ядерных технологиях (как и lxc), авторами большей части которых и являются openvz-шники.

Ответить | Правка | ^ к родителю #33 | Наверх | Cообщить модератору

44. "Уязвимость в LXC, позволяющая получить доступ к файлам вне к..."  +2 +/
Сообщение от angra (ok) on 28-Ноя-16, 07:32 
Целиком? Сам то пробовал, компетентный ты наш? Кое-какую функциональность с vzctl 4.x и ванильным ядром получить конечно можно, но это будет лишь жалкая тень openvz, уступающая lxc. Полноценная работа openvz возможна лишь с их ядром.
Ответить | Правка | ^ к родителю #43 | Наверх | Cообщить модератору

50. "Уязвимость в LXC, позволяющая получить доступ к файлам вне к..."  –2 +/
Сообщение от Аноним (??) on 28-Ноя-16, 16:10 
не тупи ;-)

openvz потихоньку сливается - все наработки переливая в ванилу.
скоро совсем сольется.

а ты можешь дальше использовать тестовый полигон OpenVZ.

Ответить | Правка | ^ к родителю #44 | Наверх | Cообщить модератору

54. "Уязвимость в LXC, позволяющая получить доступ к файлам вне к..."  –1 +/
Сообщение от angra (ok) on 28-Ноя-16, 22:12 
Ничего себе степень альтернативной одаренности. Да если весь патч openvz перейдет в ванилу, то это будет просто праздник. Все бы так сливались.


Ответить | Правка | ^ к родителю #50 | Наверх | Cообщить модератору

55. "Уязвимость в LXC, позволяющая получить доступ к файлам вне к..."  +1 +/
Сообщение от Аноним (??) on 28-Ноя-16, 22:53 
нет сил свое тянуть, cgroups + linux-vserver наступают на пятки, клиенты уже нос воротят - когда в ответ на запрос исходников им дулю суют, вот и приходится сливать..
Ответить | Правка | ^ к родителю #54 | Наверх | Cообщить модератору

57. "Уязвимость в LXC, позволяющая получить доступ к файлам вне к..."  –1 +/
Сообщение от angra (ok) on 28-Ноя-16, 23:10 
> linux-vserver наступают на пятки

Ты еще и из альтернативной вселенной пишешь?


Ответить | Правка | ^ к родителю #55 | Наверх | Cообщить модератору

60. "Уязвимость в LXC, позволяющая получить доступ к файлам вне к..."  –1 +/
Сообщение от Аноним (??) on 29-Ноя-16, 13:01 
а тебе Parallels сколько отстегнул ?
Ответить | Правка | ^ к родителю #57 | Наверх | Cообщить модератору

47. "Уязвимость в LXC, позволяющая получить доступ к файлам вне к..."  +1 +/
Сообщение от Аноним (??) on 28-Ноя-16, 14:48 
> Уязвимости находили практически везде. Объявишь весь софт минным полем и откажешься от
> него?

Компьютеры - минное поле. Срочно отказываемся от них и возвращаемся в пещеры! Мамонт стынет! /s

Ответить | Правка | ^ к родителю #29 | Наверх | Cообщить модератору

28. "Уязвимость в LXC, позволяющая получить доступ к файлам вне к..."  +/
Сообщение от Аноним (??) on 27-Ноя-16, 20:09 
> Давать кому попало рута в контейнере - это уже заведомо хождение по
> минному полю. Такие уязвимости, боюсь, будут всегда.

Выделяя пользователю контейнер по сути на откуп отдают отдельную виртуальную систему, чтобы пользователь сам в ней всё настраивал. Root в контейнере при user namespace никаким образом не должен пересекаться с root-ом в основной системe.

Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

30. "Уязвимость в LXC, позволяющая получить доступ к файлам вне к..."  –1 +/
Сообщение от Michael Shigorin email(ok) on 27-Ноя-16, 21:21 
> Давать кому попало рута в контейнере - это уже заведомо хождение по минному полю.

Смотря в каком.  Но особо воодушевлённые давно уж не верили, что LXC не для безопасности, а для удобства.

Жаль, с ovz containers что-то непонятное творится.

Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

32. "Уязвимость в LXC, позволяющая получить доступ к файлам вне к..."  –2 +/
Сообщение от Аноним (??) on 27-Ноя-16, 21:48 
там просто уже некому делать вменяемый код.
Ответить | Правка | ^ к родителю #30 | Наверх | Cообщить модератору

35. "Уязвимость в LXC, позволяющая получить доступ к файлам вне к..."  +/
Сообщение от KonstantinB (ok) on 27-Ноя-16, 22:00 
> Смотря в каком

В linux containers, разумеется - в контексте новости. Solaris zones я не имел ввиду точно.

> Жаль, с ovz containers что-то непонятное творится.

Да вроде понятное - "дом свободный, живите кто хотите".

Ответить | Правка | ^ к родителю #30 | Наверх | Cообщить модератору

51. "Уязвимость в LXC, позволяющая получить доступ к файлам вне к..."  +/
Сообщение от Ванга on 28-Ноя-16, 16:54 
Так опенвз вроде слился с виртуоззо?
Ответить | Правка | ^ к родителю #35 | Наверх | Cообщить модератору

56. "Уязвимость в LXC, позволяющая получить доступ к файлам вне к..."  +1 +/
Сообщение от Аноним (??) on 28-Ноя-16, 22:53 
> Так опенвз вроде слился с виртуоззо?

openvz это подачка в виде Open Core от виртуозы.

Ответить | Правка | ^ к родителю #51 | Наверх | Cообщить модератору

61. "Свой OS template в openvz контейнере"  +/
Сообщение от seyko email(??) on 30-Ноя-16, 03:53 
Какой host-провайдере предоставляет возможность использовать свой OS-template для контейнеров openxz ? Почему-то большинство предлагают только ими приготовленные заготовкии. Своя ОС -- только при использовании KVM (в виде ISO)
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру