LINUX.ORG.RU

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

 , ,


2

5

В ядре 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

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

Мне всегда было интересно сколько в мире человек понимает то что сдесь написано и кто постоянно обнаруживает уязвимости ,наверно в " Bell laboratories" только .

zoloz ()

выявлена критическая уязвимость (CVE-2017-1000405), которая манипулирует недоработкой в прошлогодних патчах

А надо было сразу объявить баг фичей, сейчас бы никакого нового бага в системе не былоб. Не оперативно работают.

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

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

Мнение Гугола

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

anonymous ()

А когда-то на ЛОРе фанатики ржали над микрософтом, выпускающем патчи которые устраняют недоработки в предыдущих патчах. Линукс становится готовым для десктопа?

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

Зачем вбрасывать? Десктоп! как много в это слове для линуксоида слилось как много в нём отозвалос. Кому готов, кому не готов, это как относится к новости?

VKraft ()
Ответ на: комментарий от h578b1bde

Точно.

А надо было всё это время не линукс для десктопа, а пользователей для линукса готовить. Но теперь уж поздно, линукс мы просрали, он почти уже «готов для десктопа».

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

А надо было всё это время не линукс для десктопа, а пользователей для линукса готовить.

А я, дурак, думал, что автоматическое тестирование ядра развивать. Оказывается, надо было пользователей готовить, чтобы багов в ядре не было.

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

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

anonymous ()

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

Разрыв шаблона: таки «далеко не на всех» или «по умолчанию»? Умолчание - оно вроде как одно на всех, мы за ценой и в нём всё хорошо (v4.12.12):

cd /usr/src/linux
make defconfig
grep CONFIG_TRANSPARENT_HUGEPAGE .config
# CONFIG_TRANSPARENT_HUGEPAGE is not set
dimgel ()
Ответ на: комментарий от pekmop1024

Да ну? В дебиане по дефолту madvise, а в арче вообще always.

Если ничего не путаю, напрямую использовать не получится, в отличие от always, чтобы заюзать это нужно уже иметь привилегии root'а? То есть, только опосредственно как-то надо извернуться. Или нет?

anonymous_incognito ★★★★★ ()
Последнее исправление: anonymous_incognito (всего исправлений: 1)

Ждём форк cowsay под названием dirtycowsay. Утилита будет сообщать шаги к воспроизведению багов Dirty Cow и давать тексты эксплойтов. Также будет возможность скачивать информацию о новых уязвимостях

ZenitharChampion ★★★★★ ()
Последнее исправление: ZenitharChampion (всего исправлений: 2)
Ответ на: комментарий от dzidzitop

Огромное развесистое ядро в котором трудно отслеживать баги и ориентация современного десктопного софта на «тупого юзера» — это всё звенья одной и той же цепи причин и следствий.

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

А я, дурак,

Не будь так строг к себе.

Оказывается, надо было пользователей готовить, чтобы багов в ядре не было.

Всего лишь стоит научиться видить причинно-следственные связи дальше, чем на пару шагов.

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

Рассказывай, чо уж.

Прости, но разговор этот слишком объёмен, чтобы тратить его на рандомного регистранта лора, который, вероятнее всего, просто хочет поспорить со скуки.

Могу лишь повторить ещё раз свой тезис:

Огромное развесистое ядро в котором трудно отслеживать баги и ориентация современного десктопного софта на «тупого юзера» — это всё звенья одной и той же цепи причин и следствий.

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

Прости, но разговор этот слишком объёмен, чтобы тратить его на рандомного регистранта лора, который, вероятнее всего, просто хочет поспорить со скуки.

Ну тогда и говорить не о чем.

Огромное развесистое ядро в котором трудно отслеживать баги и ориентация современного десктопного софта на «тупого юзера» — это всё звенья одной и той же цепи причин и следствий.

THP ориентирован на серверы. Потому что только там от THP есть видимый профит. Как подготовка десктопных юзеров повлияет на серверный код — вопрос открытый.

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

А сколько закладок в винде? Или домохозяйкам пофиг?

Так это ж я спрашивал у регистранта, рассказывающего об „испещрённом закладками ядре NT”. Наверное он что-то знает.

h578b1bde ★☆ ()

Штатные ядра SUSE Linux Enterprise и RHEL/CentOS проблеме не подвержены

Проблема проявляется в ядрах с 2.6.38 по 4.14

еще бы, только хипсторы с ведром > 2.6.27 страдают

upcFrost ★★★★★ ()