В ядре Linux выявлен новый вариант уязвимости Dirty COW

Вторник, 5 декабря 2017 г.

Следите за нами в ВКонтакте, Телеграм'e и Twitter'e

В ядре Linux выявлена критическая уязвимость (CVE-2017–1000405), которая манипулирует недоработкой в прошлогодних патчах, устраняющих нашумевшую уязвимость Dirty COW (CVE-2016–5195), но, как оказалось, закрывающих не все векторы атаки. Проблема проявляется в ядрах с 2.6.38 по 4.14 и позволяет поднять свои привилегии в системе. Для проверки своих систем на наличие уязвимости доступен рабочий прототип эксплоита.

Уязвимость присутствует в подсистеме управления памятью (в функции pmd_mkdirty) в реализации режима Transparent HugePage (THP). К функции touch_pmd () можно получить доступ через вызов get_user_pages () и добиться изменения содержимого PMD (Page Medium Directory) без выполнения цикла copy-on-write (COW) при попытке записи (в нормальных условиях при изменении общих страниц происходит «write fault» и для пытающегося выполнить запись процесса создаётся копия страницы памяти, в которую и вносятся изменения). В итоге, появляется возможность изменения содержимого больших страниц памяти, находящихся в режиме только для чтения, в том числе нулевой страницы виртуального адресного пространства процессов.

В отличие от уязвимости Dirty COW отсутствует возможность изменения содержимого произвольных файлов, так как в Ext4 не поддерживается маппинг обычных файлов в память с применением THP-страниц. При этом можно добиться перезаписи THP в режиме read-only, например перезаписать содержимое памяти привилегированного процесса или файлов, привязанных к разделяемой памяти (файлы в shmem могут отражаться в память с использованием THP).

Проблема пока остаётся неисправленной в Debian, Ubuntu, openSUSE, Gentoo. Обновления уже выпущены для Fedora 26 и 27. Штатные ядра SUSE Linux Enterprise и RHEL/CentOS проблеме не подвержены. Для ядра Linux подготовлен патч. В качестве обходного пути защиты можно отключить THP или запретить маппинг нулевой страницы в режиме THP:

echo never > /sys/kernel/mm/transparent_hugepage/enabled

echo 0 > /sys/kernel/mm/transparent_hugepage/use_zero_page

взято с OpenNet.ru

P.S. Далеко не на всех системах по умолчанию включен transparent_hugepage

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

Следите за нами в ВКонтакте, Телеграм'e и Twitter'e


Просмотров: 654
Рубрика: Hi-Tech


Архив новостей / Экспорт новостей

Ещё новости по теме:

RosInvest.Com не несет ответственности за опубликованные материалы и комментарии пользователей. Возрастной цензор 16+.

Ответственность за высказанные, размещённую информацию и оценки, в рамках проекта RosInvest.Com, лежит полностью на лицах опубликовавших эти материалы. Использование материалов, допускается со ссылкой на сайт RosInvest.Com.

Архивы новостей за: 2018, 2017, 2016, 2015, 2014, 2013, 2012, 2011, 2010, 2009, 2008, 2007, 2006, 2005, 2004, 2003

Сентябрь 2009: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30