The OpenNET Project / Index page

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

19.01.2016 17:27  В ядре Linux обнаружена уязвимость, позволяющая поднять привилегии в системе

Все версии ядра Linux, начиная с 3.8 и заканчивая веткой 4.5 в git, подвержены уязвимости (CVE-2016-0728), позволяющей локальному непривилегированному пользователю получить права суперпользователя.

Ошибка в коде существует с 2012 года - ей подвержены как минимум 2/3 пользователей ОС Android, которые находятся в зоне повышенного риска, так как Google не может проверить исполняемый код, собранных с использованием NDK (Native Development Kit) мобильных приложений и игр, опубликованных в Google Play. Обычные компьютеры и серверы находятся в относительной безопасности в случае, если в системе только один пользователь, пользователям запрещено исполнять код или экземпляры ОС находятся в среде виртуализации.

Уязвимость присутствует в подсистеме ядра keyrings, отвечающей за кэширование и хранение ключей аутентификации и сертификатов для шифрования. Ошибка вызвана некорректным освобождением объектов, что может привести к обращению к уже освобождённой области памяти (use-after-free) в ситуации, когда процесс пытается заменить свой текущий сессионный keyring тем же самым экземпляром. Эксплуатация уязвимости достаточно тривиальна - код эксплоита составляет всего 100 строк на языке C (эксплоит выполняется около 30 минут, так как выполняет более 4 миллиардов системных вызовов).

Состояние проблемы и её решение можно отслеживать по CVE-2016-0728. На момент написания новости только Debian выпустил обновления пакетов с ядром. Оценить появление обновлений можно на следующих страницах: openSUSE, SLES, Slackware, Gentoo, CentOS, RHEL 7 (RHEL/CentOS 5 и 6 проблеме не подвержены), Ubuntu и Fedora. Из технологий, затрудняющих эксплуатацию уязвимости, упоминаются SELinux, SMEP (Supervisor Mode Execution Protection) и SMAP (Supervisor Mode Access Protection). В качестве обходного пути защиты можно пересобрать ядро, отключив в настройках опцию CONFIG_KEYS.

Дополнение: издание The Register выяснило, что процент телефонов с Android'ом, которые подвержены этой атаке, гораздо ниже, чем заявлялось в оригинале. Так, во многих версиях Android функциональность keyrings вообще не включена, а в большом количестве сборок Android, начиная с версии 5.0, включен SeLinux, который не позволяет использовать эту уязвимость.

  1. Главная ссылка к новости (http://openwall.com/lists/oss-...)
  2. OpenNews: Локальная root-уязвимость в ядре Linux
  3. OpenNews: Уязвимости в драйвере ozwpan, позволяющие удалённо вызвать крах ядра Linux
  4. OpenNews: В ядре Linux выявлена уязвимость, которая может привести к локальному повышению привилегий
  5. OpenNews: В подсистеме ptrace ядра Linux обнаружена уязвимость, позволяющая поднять свои привилегии в системе
  6. OpenNews: В ядре Linux выявлена локальная уязвимость, позволяющая поднять свои привилегии в системе
Автор новости: Artem S. Tashkinov
Тип: Интересно / Проблемы безопасности
Ключевые слова: security, exploit, kernel, 0day
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение Ajax/Линейный | Раскрыть все сообщения | RSS
 
 
Часть нити удалена модератором

  • 2.9, crypt (ok), 18:58, 19/01/2016 [ответить]    [к модератору]
  • +17 +/
    а вы говорите старье плохо, протухший софт... [потирает свой стейбл 2.6.32]

    :)

     
     
  • 3.26, Аноним (-), 21:02, 19/01/2016 [^] [ответить]    [к модератору]
  • +1 +/
    Свой стейбл 2.6.32.9999, в который могли и перетащить какие-то уязвимости из новых.
     
     
  • 4.41, Аноним (-), 23:24, 19/01/2016 [^] [ответить]    [к модератору]
  • +1 +/
    Нет, бэкпортируют только security fix
     
  • 2.8, РОСКОМУЗОР (?), 18:58, 19/01/2016 [ответить]    [к модератору]
  • +8 +/
    Взломай мою Убунту с помощью этой уязвимости?))
     
  • 1.3, Аноним (-), 18:52, 19/01/2016 [ответить] [показать ветку] [···]    [к модератору]
  • –1 +/
    keyutils.h: Нет такого файла или каталога
     
     
  • 2.5, Аноним (-), 18:53, 19/01/2016 [^] [ответить]    [к модератору]  
  • +/
    надо поставить keyutils-libs-devel
     
     
  • 3.6, Аноним (-), 18:57, 19/01/2016 [^] [ответить]    [к модератору]  
  • –3 +/
    /tmp/cc6nqzY8.o: In function 'main':
    1.c:(.text+0x1a1): undefined reference to 'keyctl'
    и ещё несколько строчек
     
     
  • 4.10, Аноним (-), 19:00, 19/01/2016 [^] [ответить]    [к модератору]  
  • +/
    Так надо собирать так как сказано в эксплоите: gcc cve_2016_0728.c -o cve_2016_0728 -lkeyutils -Wall
     
     
  • 5.12, Аноним (-), 19:06, 19/01/2016 [^] [ответить]    [к модератору]  
  • –1 +/
    Благодарю. Запустил, проверяем-с.
     
  • 1.4, Аноним (-), 18:52, 19/01/2016 [ответить] [показать ветку] [···]    [к модератору]  
  • +3 +/
    Ладно бы гоогле не могло чототам проверить, оно обновлений-то выпустить не может от своей немощи.
     
     
  • 2.28, Отражение луны (ok), 21:10, 19/01/2016 [^] [ответить]    [к модератору]  
  • +/
    На нексус прилетают, правда раз в месяц. Не проблема андроида)
     
     
  • 3.66, Аноним (-), 09:04, 20/01/2016 [^] [ответить]    [к модератору]  
  • –1 +/
    Судя по стонам о глюках этих ваших нексусов от обновлений, лучше на наших народных китайских кирпичах без обновлений сидеть. Ядро 3.4, глюки минимальны и не меняются со временем.
     
  • 1.14, Аноним (-), 19:14, 19/01/2016 [ответить] [показать ветку] [···]     [к модератору]  
  • +2 +/
    А что этому эксплоиту в параметры передавать Я собрал, запустил с параметром - ... весь текст скрыт [показать]
     
     
  • 2.18, Аноним (-), 19:38, 19/01/2016 [^] [ответить]    [к модератору]  
  • +/
    Так же, ня.
     
  • 2.22, Crazy Alex (ok), 20:38, 19/01/2016 [^] [ответить]    [к модератору]  
  • +/
    Оно там с приколами, код смотрите и правьте
     
  • 2.32, Аноним (-), 22:09, 19/01/2016 [^] [ответить]    [к модератору]  
  • +/
    В комментарии к коду все написано (первые 2 строчки)
     
  • 1.15, Djam1 (?), 19:23, 19/01/2016 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    не дождался, прикончил... ну вот что опять не так сделал? ROSA R6 x86_64
     
     
  • 2.91, Аноним (-), 21:18, 20/01/2016 [^] [ответить]    [к модератору]  
  • +/
    Ждал 3 часа. Наконец оно запустило кучу процессов. Процессы повисли. FAIL. При попытке killall повисло ядро. Йопт.
     
  • 1.16, Djam1 (?), 19:25, 19/01/2016 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    судя по всему нужно keyring название указать или путь...
     
  • 1.20, Аноним (-), 19:50, 19/01/2016 [ответить] [показать ветку] [···]    [к модератору]  
  • +3 +/
    да сколько можно то, уже за долбало. Линус похоже старым стал, плохо материт тиммэйтов.
     
  • 1.21, aaa (??), 20:37, 19/01/2016 [ответить] [показать ветку] [···]    [к модератору]  
  • +3 +/
    C 2.6.18 не помню пюбличного сплойта работающего без танцев с бубном:)
    Это не оно.
     
     
  • 2.27, Аноним (-), 21:03, 19/01/2016 [^] [ответить]    [к модератору]  
  • +1 +/
    > C 2.6.18 не помню пюбличного сплойта работающего без танцев с бубном:)
    > Это не оно.

    1 был.

     
  • 1.23, Аноним (-), 20:44, 19/01/2016 [ответить] [показать ветку] [···]    [к модератору]  
  • +10 +/
    Обычные компьютеры и серверы находятся в относительной безопасности в случае, если в системе только один пользователь (root)
     
  • 1.24, via (??), 20:49, 19/01/2016 [ответить] [показать ветку] [···]    [к модератору]  
  • +1 +/
    на 14.04LTS апдейт по CVE-2016-0728 пришел
     
  • 1.25, Аноним (-), 21:01, 19/01/2016 [ответить] [показать ветку] [···]    [к модератору]  
  • +5 +/
    А все ржут с 2.6 в продакшне) Ну-ну.
     
     
  • 2.93, Аноним (-), 09:45, 21/01/2016 [^] [ответить]    [к модератору]  
  • +/
    Используй 2.4, про него все забыли, даже хакеры.
     
  • 1.29, Аноним (-), 21:24, 19/01/2016 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    а чо там с арчем то? пофиксили?
     
     
  • 2.42, Matias (?), 23:25, 19/01/2016 [^] [ответить]    [к модератору]  
  • –1 +/
    Странно, но у меня в арче не срабоал. Ядро 4.3.3-2, обновления не ставил. Команду вводил как и на скриншоте.
     
  • 1.30, Аноним (-), 21:28, 19/01/2016 [ответить] [показать ветку] [···]    [к модератору]  
  • +7 +/
    PAX перехватил переполнение:

    PAX: refcount overflow detected in: a.out:26737, uid/eid: 1000/1000

    Эксплойт убит, значение на счётчике по-прежнему положительное, т.е. переполнения не произошло.

     
  • 1.31, openuser714 (?), 21:51, 19/01/2016 [ответить] [показать ветку] [···]    [к модератору]  
  • +8 +/
    С одной стороны новость очень хорошая, наверняка кому-нибудь очень не хватало рут-доступа на Andoid устройстве.
     
     
  • 2.52, _KUL (ok), 00:45, 20/01/2016 [^] [ответить]    [к модератору]  
  • +/
    И ждать пол часа, чтобы этот доступ получить? :)
     
     
  • 3.65, openuser714 (?), 07:42, 20/01/2016 [^] [ответить]    [к модератору]  
  • +/
    Да, в большинстве случаев этого будет достаточно чтобы установить стороний режим восстановления, утилиту su.
     
  • 3.75, Аноним (-), 12:36, 20/01/2016 [^] [ответить]    [к модератору]  
  • +4 +/
    > И ждать пол часа, чтобы этот доступ получить? :)

    Если по другому не пускают - лучше полчаса, чем никак.

     
  • 2.54, kay (ok), 01:27, 20/01/2016 [^] [ответить]    [к модератору]  
  • +/
    Мне вот не хватает. Но у меня ядро 3.4 :(
     
  • 2.55, kay (ok), 01:28, 20/01/2016 [^] [ответить]    [к модератору]  
  • +/
    Мне вот не хватает. Но у меня ядро 3.4 :(
     
  • 1.33, Павел Самсонов (?), 22:20, 19/01/2016 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    Ну просто ставить не надо на один раздел с верой в непогрешимость кода.
     
  • 1.34, alhn77 (ok), 22:53, 19/01/2016 [ответить] [показать ветку] [···]    [к модератору]  
  • +1 +/
    4.3.3-hardened-r4

    ./cve_2016_0728 PP_KEY
    uid=1000, euid=1000
    Increfing...
    Убито

    Пока не видел сабжа, чтобы у кого-то сработало. Баг, походу, все же есть. Может сплоит сыроват. А может быть, импакт немного преувеличен. Но не припомню случая, чтобы вот так публиковали сплоит для ядра linux, а патча еще не было. Если бы у разработчиков были хотя бы сутки-двое - уже были бы обновления в всех основных дистрибутивах, а так, только Debian успели...

     
     
  • 2.36, Аноним (-), 23:04, 19/01/2016 [^] [ответить]     [к модератору]  
  • +/
    Ну еще бы 123597 445067 PAX refcount overflow detected in cve_2016_0728 145... весь текст скрыт [показать]
     
     
  • 3.39, alhn77 (ok), 23:17, 19/01/2016 [^] [ответить]     [к модератору]  
  • –1 +/
    Да, спасибо, щас посмотрел dmesg, действительно refcount overflow detected in ... весь текст скрыт [показать]
     
     
  • 4.40, all_glory_to_the_hypnotoad (ok), 23:21, 19/01/2016 [^] [ответить]    [к модератору]  
  • +1 +/
    нормально всё, нехрен в ядро всякую ненужную хрень включать.
     
     
  • 5.47, alhn77 (ok), 00:06, 20/01/2016 [^] [ответить]     [к модератору]  
  • +2 +/
    На всякий случай по моему и другим сабжам очевидно, что уязвимость если она ес... весь текст скрыт [показать]
     
  • 4.63, Аноним (-), 07:09, 20/01/2016 [^] [ответить]    [к модератору]  
  • +/
    ну сколько можно в привате держать эксплойт - вот... через 2 года засветили.
    но ведь тысячи глаз смотрели код - как же они за 3 года такой баг не нашли?
     
     
  • 5.90, alhn77 (ok), 21:17, 20/01/2016 [^] [ответить]     [к модератору]  
  • +/
    Как сарказм принимаю Действительно, открытый исходный код не панацея, особенно ... весь текст скрыт [показать]
     
  • 2.38, анонко (?), 23:12, 19/01/2016 [^] [ответить]     [к модератору]  
  • +/
    tmp cve_2016_0728 PP1 uid 1000, euid 1000 Increfing finished increfing ... весь текст скрыт [показать]
     
     
  • 3.43, Аноним (-), 23:26, 19/01/2016 [^] [ответить]    [к модератору]  
  • +1 +/
    А почему у тебя /tmp смонтирован без noexec, а?!
     
     
  • 4.44, анонко (?), 23:30, 19/01/2016 [^] [ответить]    [к модератору]  
  • +/
    я какмикадзеЭ
     
  • 3.56, Crazy Alex (ok), 01:32, 20/01/2016 [^] [ответить]     [к модератору]  
  • +/
    Аналогично, и тоже на генте не hardened - нет рута Да и на debian testing об... весь текст скрыт [показать]
     
     
  • 4.62, Аноним (-), 05:11, 20/01/2016 [^] [ответить]    [к модератору]  
  • +/
    Гентушник с 32 битами, о да. Может стоит подумать о более приземленном? Перестать бомжевать, устроится на работу, подготовить трактор?
     
     
  • 5.78, Crazy Alex (ok), 12:54, 20/01/2016 [^] [ответить]     [к модератору]  
  • –2 +/
    На кой мне 64 бита Тот же браузер или IDE жрёт раза в полтора больше памяти, че... весь текст скрыт [показать]
     
     
  • 6.97, Андрей (??), 22:59, 21/01/2016 [^] [ответить]     [к модератору]  
  • +/
    На одном ноуте с 2 GB оперативки я это ой как чувствую Но без 64-бит сейчас ник... весь текст скрыт [показать]
     
     
  • 7.98, arisu (ok), 06:28, 22/01/2016 [^] [ответить]    [к модератору]  
  • +1 +/
    > Но без 64-бит сейчас никуда. Не из-за самих бит, а из-за
    > утилит, которые их требуют.

    смотрите дети: это писал говноед. смотрите внимательно, чтобы самим не стать говноедами.

     
     
  • 8.100, Аноним (-), 19:51, 23/01/2016 [^] [ответить]    [к модератору]  
  • +1 +/
    кроме тулсов, еще 64-битные регистры и гарантирован SSE2, что ускоряет мультимедию, крипто и тому подобное, а парашнее х86 сложно что-то найти, х86-64 немного получше.
     
     
  • 9.101, arisu (ok), 19:57, 23/01/2016 [^] [ответить]    [к модератору]  
  • +/
    о, ещё один говноед. вас на конвейере делают, что ли?
     
  • 4.103, Анатолий (??), 22:04, 02/02/2016 [^] [ответить]     [к модератору]  
  • +/
    Ну, или работает только на 64 bit - у меня 32 везде - Уязвимость, найденная Жа... весь текст скрыт [показать]
     
  • 2.50, тот же анонко (?), 00:18, 20/01/2016 [^] [ответить]     [к модератору]  
  • +/
    tmp cve_2016_0728 PP1 uid 1001, euid 1001 Increfing finished increfing f... весь текст скрыт [показать]
     
     
  • 3.72, Аноним (-), 10:49, 20/01/2016 [^] [ответить]     [к модератору]  
  • +/
    Может в ядре не включил опцию CONFIG_KEYS В описании опции This option provid... весь текст скрыт [показать]
     
     ....нить скрыта, показать (19)

  • 1.45, 321 (??), 23:37, 19/01/2016 [ответить] [показать ветку] [···]    [к модератору]  
  • –1 +/
    обращение у освобождённому объекту.. может всё таки перепишите ядро на julia?
     
     
  • 2.49, Аннон (?), 00:18, 20/01/2016 [^] [ответить]    [к модератору]  
  • +9 +/
    нет, если переписывать ядро, то только на PHP!
     
     
  • 3.59, невидимка (?), 04:53, 20/01/2016 [^] [ответить]    [к модератору]  
  • +/
    и эхо откликнулось "НА JAVA, JAVA, JAVA" =)
     
  • 1.51, vitalif (ok), 00:39, 20/01/2016 [ответить] [показать ветку] [···]    [к модератору]  
  • +1 +/
    пока в андроиде рут не встроенный, уязвимости это хорошо)
     
  • 1.57, Аноним (-), 01:39, 20/01/2016 [ответить] [показать ветку] [···]    [к модератору]  
  • +1 +/
    То-то Debian апдейт выпустили.
     
  • 1.58, Аноним (-), 04:12, 20/01/2016 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    2.6.43.8 едро, уже и файловая система летела и баш затерался но всё равно восстанавливаетса, работает как часы! чего и вам желаю!
     
     
  • 2.77, Аноним (-), 12:41, 20/01/2016 [^] [ответить]    [к модератору]  
  • +3 +/
    > уже и файловая система летела и баш затерался

    Весь в г0вне, но на коне

     
     
  • 3.92, анон (?), 06:48, 21/01/2016 [^] [ответить]    [к модератору]  
  • +/
    тише едиш дальше будеш
     
  • 2.87, Аноним (-), 19:15, 20/01/2016 [^] [ответить]     [к модератору]  
  • +2 +/
    Я слышал во времена Она о двух крEтинах, которые админили E250 через инет телнет... весь текст скрыт [показать]
     
  • 1.70, Аноним (-), 10:15, 20/01/2016 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    может и нет баги-то
     
  • 1.71, Аноним (-), 10:35, 20/01/2016 [ответить] [показать ветку] [···]    [к модератору]  
  • +1 +/
    Linux Mint 17.3 после двух часов работы только
    Increfing...
    Видимо нужно особая удача для того, чтобы воспроизвести.
     
  • 1.73, Аноним (-), 11:00, 20/01/2016 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    А зачем ключи в ядре хранить?
     
     
  • 2.81, SysA (?), 13:25, 20/01/2016 [^] [ответить]     [к модератору]  
  • –2 +/
    This option provides support for retaining authentication tokens and access keys... весь текст скрыт [показать]
     
     
  • 3.83, Andrey Mitrofanov (?), 13:57, 20/01/2016 [^] [ответить]     [к модератору]  
  • +/
    Вы и цитата тоже не ответили на вопрос зачем Почему ... весь текст скрыт [показать]
     
     
  • 4.85, SysA (?), 15:19, 20/01/2016 [^] [ответить]     [к модератору]  
  • +/
    Еще раз keys might be associated with a process so that network filesystems... весь текст скрыт [показать]
     
  • 1.74, тень_pavel_simple (?), 12:07, 20/01/2016 [ответить] [показать ветку] [···]    [к модератору]  
  • –1 +/
    # sysctl kernel.keys.maxbytes=1
    # sysctl kernel.keys.maxkeys=1
    $ ./cve_2016_0728 PP_KEY
    uid=1000, euid=1000
    keyctl: Disk quota exceeded
     
     
  • 2.82, SysA (?), 13:29, 20/01/2016 [^] [ответить]    [к модератору]  
  • –1 +/
    > # sysctl kernel.keys.maxbytes=1
    > # sysctl kernel.keys.maxkeys=1
    > $ ./cve_2016_0728 PP_KEY
    > uid=1000, euid=1000
    > keyctl: Disk quota exceeded

    Ага, ты еще RO на диск поставь! :)

     
  • 1.79, Аноним (-), 13:06, 20/01/2016 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    Не работает с последними обновлениями :).
    Устарела информация.
    Обновляйтесь почаще хоть раз в месяц и будет вам счастье ;).
     
     
  • 2.80, Аноним (-), 13:18, 20/01/2016 [^] [ответить]    [к модератору]  
  • +/
    да и без обновлений тоже не работает.
     
  • 1.94, adolfus (ok), 12:27, 21/01/2016 [ответить] [показать ветку] [···]    [к модератору]  
  • –1 +/
    У меня оно полностью завесило систему. FC22 с последними фиксами на 21.01.2016
     
  • 1.95, rob pike (?), 13:15, 21/01/2016 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    > Google's Android security lead, Adrian Ludwig, has promised a fix by March 1. That's the bad news.
    > The good news: “We believe that the number of Android devices affected is significantly smaller than initially reported.
    > “We believe that no Nexus devices are vulnerable to exploitation by third party applications. Further, devices with Android 5.0 and above are protected, as the Android SELinux policy prevents third party applications from reaching the affected code.
    > “Also, many devices running Android 4.4 and earlier do not contain the vulnerable code introduced in linux kernel 3.8, as those newer kernel versions [are] not common on older Android devices.”

    http://www.theregister.co.uk/2016/01/21/no_that_linux_keyrings_bug_isnt_in_66

     
     
  • 2.96, Аноним (-), 13:59, 21/01/2016 [^] [ответить]     [к модератору]  
  • –1 +/
    if there is a way this vulnerability can be exploited Google s already answe... весь текст скрыт [показать]
     
  • 1.99, добрый (?), 22:03, 22/01/2016 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    В Grsecurity класс таких уязвимостей был закрыт (сведен к DoS как максимум) посредством PAX_REFCOUNT несколько лет назад.
     

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


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