The OpenNET Project / Index page

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

Локальная root-уязвимость в ядре Linux

13.01.2016 00:08

Раскрыты подробности эксплуатации уязвимости (CVE-2015-8660) в ядре Linux, позволяющей непривилегированному локальному пользователю получить права root. Уязвимость вызвана недоработкой в коде установки прав доступа в файловой системе OverlayFS, проявляющейся при использовании пространств имён для идентификаторов пользователей (user namespaces).

Суть проблемы в том, что пользователь может при помощи технологии "user namespaces" создать изолированное окружение со своим пользователем root и примонтировать в нём часть внешней ФС через OverlayFS. Из-за ошибки в OverlayFS при изменении прав доступа в изолированном окружении, изменения также остаются в связанной с OverlayFS директории для хранения изменений (например, директория для изменений может быть создана в tmpfs и остаётся доступна извне, также доступ к ФС изолированного окружения можно получить через /proc). Таким образом, в изолированном окружении можно создать исполняемый файл с флагом suid root и выполнить его вне изолированного окружения. Для тестирования подготовлен прототип эксплоита.

Вызвавшая уязвимость ошибка была устранена в ядре Linux в начале декабря и вошла в состав релиза ядра 4.4, но детальная информация об уязвимости обнародована только сейчас. Проблема проявляется начиная с ядра 3.18, поэтому не касается штатных ядер дистрибутивов RHEL/CentOS 5/6 (ядро RHEL/CentOS 7 подвержено проблеме) и Debian, но затрагивает выпуски Ubuntu 15.10 и Fedora 23 и уже устранена в опубликованных несколько дней назад обновлениях пакетов с ядром.

Следует отметить, что так как многие старые подсистемы ядра написаны без оглядки на возможности User Namespace, не исключается наличие ещё не выявленных похожих уязвимостей. Например, кроме OverlayFS подобные проблемы найдены в ptrace (CVE-2015-8709). В качестве обходного пути защиты рекомендуется отключить поддержку User Namespace в ядре (CONFIG_USER_NS=n). Проверить включена ли поддержка User Namespace можно командой "ls /proc/self/ns|grep user".

  1. Главная ссылка к новости (http://seclists.org/fulldisclo...)
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/43659-linux
Ключевые слова: linux, kernel
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (55) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Олег (??), 11:02, 13/01/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • –3 +/
    Можно не бояться:
    $ zgrep -i CONFIG_OVERLAY_FS /proc/config.gz
    # CONFIG_OVERLAY_FS is not set
     
     
  • 2.2, Аноним (-), 11:12, 13/01/2016 [^] [^^] [^^^] [ответить]  
  • +18 +/
    Как же я рад за тебя!
     
  • 2.6, freehck (ok), 11:56, 13/01/2016 [^] [^^] [^^^] [ответить]  
  • +/
    Все так не смогут проверить. /proc/config.gz может быть выключен в ядре.
    Вот в штатном дебиановском его нету. Впрочем, что я парюсь, в новости прямым текстом сказано, что Debian вне зоны риска.
     
     
  • 3.11, Diozan (??), 12:43, 13/01/2016 [^] [^^] [^^^] [ответить]  
  • +1 +/
    В /boot заглянуть не судьба?
     
     
  • 4.51, freehck (ok), 18:26, 13/01/2016 [^] [^^] [^^^] [ответить]  
  • +/
    > В /boot заглянуть не судьба?

    Вау. Спасибо. =)

     
  • 3.12, grammar_n (?), 12:57, 13/01/2016 [^] [^^] [^^^] [ответить]  
  • +14 +/
    нельзя писать "нету" и при этом "парюсь". в вашем случае только парюся
     
  • 2.9, Аноним (-), 12:14, 13/01/2016 [^] [^^] [^^^] [ответить]  
  • +/
    CONFIG_OVERLAYFS_FS
     
  • 2.49, Аноним (-), 18:06, 13/01/2016 [^] [^^] [^^^] [ответить]  
  • –2 +/
    /proc/config.gz: No such file or directory
     

  • 1.3, Аноним (-), 11:13, 13/01/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    uname -r забыл вывалить
     
  • 1.5, iPony (?), 11:48, 13/01/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • –3 +/
    > но затрагивает выпуски Ubuntu 15.10

    $ uname -a
    Linux ubuntu1404v 3.19.0-43-generic #49~14.04.1-Ubuntu SMP Thu Dec 31 15:46:00 UTC 2015 i686 i686 i686 GNU/Linux
    $ cat /etc/*-release | grep -i "version"
    VERSION="14.04.3 LTS, Trusty Tahr"
    VERSION_ID="14.04"


     
     
  • 2.23, 222 (?), 14:17, 13/01/2016 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Linux home 3.13.0-74-generic #118-Ubuntu SMP Thu Dec 17 22:52:02 UTC 2015 i686 i686 i686 GNU/Linux

    VERSION="14.04.3 LTS, Trusty Tahr"
    VERSION_ID="14.04"

    ;)

     
     
  • 3.73, count0krsk (ok), 03:44, 14/01/2016 [^] [^^] [^^^] [ответить]  
  • –1 +/
    14.04.2
    3.16.0-36 и обновлять не тороплюсь, ибо работает.
    Воткнёшь новую версию - то вайфай/картридер отвалится, то подсветка не регулируется, то скорость проца. За*пло.
    Ах да, ещё и модуль nvidia пересобирать и с оптимус-ом долбаться.
     
     
  • 4.85, iPony (?), 14:33, 14/01/2016 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > 3.16.0-36

    Оно же в ubuntu всё - тебя какиры похакают и отымеют
    https://wiki.ubuntu.com/Kernel/LTSEnablementStack

     
     
  • 5.93, count0krsk (ok), 10:34, 16/01/2016 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Оно же в ubuntu всё - тебя какиры похакают и отымеют

    Пускай найдут сначала в тайге ))) И сначала должны закончиться виндузятники, потом бздуны, которые обновляются раз в пятилетку потому что "работает же, а админ который ставил - уволился". А потом любители хостить на шлюзе веб-сайты на wordpress или IIS.

     

  • 1.8, Roo2AT7d (ok), 12:12, 13/01/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Ну хоть когда-то затвердевшее в дебиане оказалось безопаснее.
     
     
  • 2.57, freehck (ok), 19:10, 13/01/2016 [^] [^^] [^^^] [ответить]  
  • +1 +/
    А Вы собираетесь утверждать, что обычно оно менее безопасно, чем... Чем что, кстати?
    Бред сивой кобылы.
     
     
  • 3.67, Roo2AT7d (ok), 22:14, 13/01/2016 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > Чем что, кстати?

    Чем арч, конечно же. Не раз проскакивали новости, что в арче не проявлялись новые серьезные уязвимости на фоне остальных дистрибутивов - всегда забавляло.

     
     
  • 4.72, freehck (ok), 01:09, 14/01/2016 [^] [^^] [^^^] [ответить]  
  • +/
    Хм. Я не слежу за арчем, но в данном факте ничего удивительного нет. В апстриме иногда (довольно редко) баги правятся быстрее, чем в серьёзных дистрибутивах. И пиар подобных исключительных случаев -- основная забава школьников[-/]арчеводов.
     
     
  • 5.75, Классический анонимуз (?), 04:52, 14/01/2016 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Арчененавистникам превед!

    ls /proc/self/ns | grep user
    # uname -a
    Linux www.sex.com 4.3.3-2-ARCH #1 SMP PREEMPT Wed Dec 23 20:09:18 CET 2015 x86_64 GNU/Linux

     
  • 5.76, Классический анонимуз (?), 04:58, 14/01/2016 [^] [^^] [^^^] [ответить]  
  • +/
    "В апстриме иногда (довольно редко) баги правятся быстрее, чем в серьёзных дистрибутивах"

    Ну и чушь. В дистрибах подавляющее большинство багов (non security) вообще не правятся. Даже если это critical usability bug. И делай что хочешь до нового релиза. Арч по понятным причинам этой проблемы лишён, поэтому после 15 лет всяких FreeBSD, Debian, CentOS и прочего все мои десктопы на Арче.

     
     
  • 6.78, freehck (ok), 09:41, 14/01/2016 [^] [^^] [^^^] [ответить]  
  • +/
    Потому что эти баги в основном до серьёзных дистров не доходят, ибо пихают в них... большой текст свёрнут, показать
     
     
  • 7.79, Классический анонимуз (?), 11:40, 14/01/2016 [^] [^^] [^^^] [ответить]  
  • –1 +/
    "баги в основном до серьёзных дистров не доходят"

    бла-бла-бла...

    centos6
    gthumb-2.10.11-8.el6.x86_64.rpm

    arch
    gthumb 3.4.1-3

    теперь открой changelog за последние 7 (СЕМЬ, КАРЛ, СЕМЬ) лет. И что, ни одного серьёзного бага не видишь?

    "никто не мешает установить пару-тройку пакетов из нестабильной ветви"

    ахаха, какой прелестный колхоз. а как же "пихают в дистры только стабильные версии апстримного софта"?

    Домашнее задание тебе: обоснуй нестабильность версии 3.4.1. С ссылками.

     
     
  • 8.81, Michael Shigorin (ok), 12:33, 14/01/2016 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Простите за вмешательство, но разница между GNOME2 и GNOME3 -- это уже классичес... текст свёрнут, показать
     
     
  • 9.87, freehck (ok), 17:07, 14/01/2016 [^] [^^] [^^^] [ответить]  
  • +/
    Да я бы и сам лучше не написал Особенно учитывая, что этот анон, похоже, может ... текст свёрнут, показать
     
  • 9.94, Классический анонимуз (?), 07:14, 18/01/2016 [^] [^^] [^^^] [ответить]  
  • +/
    Не прощаю В CentOS7 гнум 3-й Как же так, он же на порядки менее стабильный чем... текст свёрнут, показать
     
  • 8.86, freehck (ok), 17:04, 14/01/2016 [^] [^^] [^^^] [ответить]  
  • +/
    Вы не поверите, но в нестабильной ветке Debian находятся стабильные версии апстр... текст свёрнут, показать
     
  • 7.80, Классический анонимуз (?), 12:13, 14/01/2016 [^] [^^] [^^^] [ответить]  
  • –2 +/
    или

    Centos6
    qemu-kvm-0.12.1.2

    Arch
    qemu 2.4.1

    сколько между этими версиями юзабилити багов?

     
     
  • 8.83, Andrey Mitrofanov (?), 12:45, 14/01/2016 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Добавлено или исправлено ... текст свёрнут, показать
     
  • 6.88, Аноним (-), 18:59, 14/01/2016 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > поэтому после 15 лет

    Точно поэтому? Думаю, причина в другом.

     
     
  • 7.89, Аноним (-), 19:06, 14/01/2016 [^] [^^] [^^^] [ответить]  
  • +/
    тонко
     

  • 1.10, Аноним (-), 12:41, 13/01/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • +7 +/
    Т.е. механизм "user namespaces", созданный для безопасности (контейнеризации) сам приводит к проблемам с безопасностью. Замечательно!
     
     
  • 2.17, IZh. (?), 13:45, 13/01/2016 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Первые подушки безопасности плохо работали. Замечательно!
     
     
  • 3.34, Аноним (-), 15:47, 13/01/2016 [^] [^^] [^^^] [ответить]  
  • –2 +/
    > Первые подушки безопасности плохо работали. Замечательно!

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


     
     
  • 4.35, Michael Shigorin (ok), 15:52, 13/01/2016 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > В бздах когда-то с джейлами на такие (или очень похожие) грабли наступали.

    Вот здесь хорошо бы ссылочку/CAN, похожесть похожести рознь.

    PS: хорошо, что мы не стали перепрыгивать на overlayfs слишком быстро, хотя пробный набросок для инфраструктуры сборки образов есть ;-)

     
     
  • 5.65, тигар (ok), 21:19, 13/01/2016 [^] [^^] [^^^] [ответить]  
  • –1 +/
    https://www.freebsd.org/security/advisories/FreeBSD-SA-04:03.jail.asc ну вот из прикольного, к примеру. А в https://www.freebsd.org/security/advisories/ наверняка что-то еще про jail есть
     
     
  • 6.69, Michael Shigorin (ok), 23:02, 13/01/2016 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > https://www.freebsd.org/security/advisories/FreeBSD-SA-04:03.jail.asc

    Спасибо, занятно -- но при чём тут ФС?

    Здесь ведь грабелька в том, что изменилась "среда обитания" кода файловых систем и, соответственно, развалилось минимум одно предположение, сделанное при разработке минимум одной из них.

    Т.е. "интербаг", что совсем другой класс (технически и организационно) проблем, чем "просто баг" вроде недостаточной проверки _в пределах_ подсистемы.

     
  • 4.77, anonymous (??), 06:53, 14/01/2016 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > В бздах когда-то с джейлами на такие (или очень похожие) грабли наступали.
    > Но учесть опыт "бздюков" и учиться на чужих ошибках – лапчатым,
    > видимо, невместно.

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

     
     
  • 5.84, Michael Shigorin (ok), 13:14, 14/01/2016 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > только там жайлы не позиционировались, как механизм безопасности.

    ---
    One of the tools which can be used to enhance the security of a FreeBSD system is jails.
    --- https://www.freebsd.org/doc/handbook/jails.html

     
     
  • 6.90, anonymous (??), 21:09, 14/01/2016 [^] [^^] [^^^] [ответить]  
  • +/
    > ---
    > One of the tools which can be used to enhance the security
    > of a FreeBSD system is jails.
    > --- https://www.freebsd.org/doc/handbook/jails.html

    могут усилить безопасность, ага, но могут и не усилить )

     

  • 1.13, Аноним (-), 13:11, 13/01/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    $ grep -i CONFIG_OVERLAY_FS /boot/config-4.3.0-1-amd64
    CONFIG_OVERLAY_FS=m
    $ uname -a
    Linux 4.3.0-1-amd64 #1 SMP Debian 4.3.3-2 (2015-12-17) x86_64 GNU/Linux
     
  • 1.16, тигар (ok), 13:40, 13/01/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    прелесть-то какая.
     
     
  • 2.19, commiethebeastie (ok), 13:49, 13/01/2016 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Кажется кто-то забыл про msblast.
     
  • 2.22, iPony (?), 14:01, 13/01/2016 [^] [^^] [^^^] [ответить]  
  • +5 +/
    У линуксов просто другая модель.
    Чёткие Ынтерпрайзные пацаны сидят на 3.14 и их это не касается
    Пионеры сидят на чем по свежее, им даже в радость всякие ошибки и прочее - лишний повод поковыряться.
    Все довольны.
     
     
  • 3.66, all_glory_to_the_hypnotoad (ok), 21:48, 13/01/2016 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Пионеры сидят на чем по свежее, им даже в радость всякие ошибки и прочее - лишний повод поковыряться.

    Нет же, пионеры не собирают весь ненужный хлам в ядре.

     
  • 2.31, Anonplus (?), 15:04, 13/01/2016 [^] [^^] [^^^] [ответить]  
  • +/
    Гайд по усилению безопасности? В Убунте? Это там, где при создании превьюшки для скачанного, но даже не открытого видеофайла, ffmpeg радостно отправит по сети злоумышленнику любой затребованный им файл?

    http://habrahabr.ru/company/mailru/blog/274855/

    Не смешите мои тапочки, какая там безопаность...

     
     
  • 3.36, Kodesu (ok), 15:58, 13/01/2016 [^] [^^] [^^^] [ответить]  
  • +/
    Конкретно Ubuntu тут ни при чем.
     
  • 3.61, Аноним (-), 20:32, 13/01/2016 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > http://habrahabr.ru/company/mailru/blog/274855/

    Круто! Какое же оказывается все вокруг дырявое! Это же еще и на ведроиде наверняка где-нить вылезет. :(

     

  • 1.38, Виталий (??), 16:22, 13/01/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    ~ # uname -a
    Linux control 3.16.0-k1-kerio-686-pae #1 SMP Debian 3.16.7-ckt4-3~kerio1 (2015-03-12) i686 GNU/Linux
    ~ # ls /proc/self/ns|grep user
    user


    << Kerio Control 8.6.1 >>

     
  • 1.41, Аноним (-), 16:46, 13/01/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    А отключить поддержку User Namespace в ядре через параметры ядра как-то можно отключить?
     
     
  • 2.52, Мегазаычы (?), 18:30, 13/01/2016 [^] [^^] [^^^] [ответить]  
  • +/
    а самому почитать https://www.kernel.org/doc/Documentation/kernel-parameters.txt и узнать, вместо того, чтобы униженно ждать, что кто-то великий здесь ответит?
     
     
  • 3.64, Аноним (-), 20:55, 13/01/2016 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Не знаешь, не отвечай, никто тебя не ждет.
     

  • 1.60, Павел Самсонов (?), 20:03, 13/01/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    "Создать изолированное окружение со своим пользователем рут" - это простите как?
     
     
  • 2.63, alexk (??), 20:54, 13/01/2016 [^] [^^] [^^^] [ответить]  
  • +2 +/

    Это смысл user namspace: создавать псевдо root пользователя в пространстве контейнера, но который будет иметь по факту uid пользователя на хосте.
     

  • 1.91, Аноним (-), 21:48, 14/01/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    И что, много кто использует OverlayFS?) Кроме SUSE'ров?
     
     
  • 2.92, Аноним (-), 05:22, 15/01/2016 [^] [^^] [^^^] [ответить]  
  • +/
    OpenWRT
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



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

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