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

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

линукс опасносте

Deleted ()

Что-то не вижу повышение привилегий какира до рута, это точно линукс?

ozz_is_here ()

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

zoloz ()

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

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

Napilnik ★★★★★ ()

И да, слишком быстро новость подтвердили, никто же не успел попользоваться!

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

сдесь понимают не только лишь все.

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

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

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

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

anonymous ()

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

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

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

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

Ни кто не без греха, но линуксу далеко ещё до испещрённого закладками ядра NT

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

испещрённого закладками ядра NT

И где там закладки? Или ты хочешь сказать что в линуксе закладок больше?

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

Точно.

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

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

Читать умеем? Закладки в ядре NT а ни как не в линуксе.

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

Читать умеем? Закладки в ядре NT а ни как не в линуксе.

Читать умеем?

И где там закладки?

h578b1bde ★☆ ()

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

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

pekmop1024 ★★★★★ ()

Так вот откуда в дебиане аж два обновления ядра подряд менее, чем за неделю.

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

И эта тоже начинается с 2.6.x — ЕМНИП, 12309 тоже с этого пошло... Может пора воскрешать 2.6 серию, вместо того, чтобы возиться с новыми? (шучу)

Vsevolod-linuxoid ★★★★★ ()

Как в старые добрые времена!

ШЕ-РЕ-ТО

frost_ii ★★★★★ ()
$ gcc -pthread main.c
$ ./a.out
[*] The beginning of the zero huge page: 0
[*] Racing. Gonna take a while...

Уже 10 минут что-то делает... падло... И зачем я его запустил? ....

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

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

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

kirk_johnson ★☆ ()

а если у меня в /sys/kernel/mm пусто, это значит я в безопасности?

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

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

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

transparent huge pages, драйвер ext3 и десктоп. Связь просто очевидна - это несомненно.

dzidzitop ★★ ()

Dirty COW
Грязная КОРОВА

Значит индусы пока еще не пишут ядро. Можно быть спокойным, пока.

ult ()
Последнее исправление: ult (всего исправлений: 2)

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)
Ответ на: комментарий от dimgel

Речь о конкретных дистрибутивах, конечно. Что не всегда там стоит эта фича.

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

Уже 10 минут что-то делает... падло... И зачем я его запустил? ....

Именно так это и работает)

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

Линуксоидам так можно трояны впаривать под видом эксплоитов )

superuser ★★★ ()

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

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

Даже если понимает лишь десяток человек - это автоматически заставляет других. Иначе этот десяток получит слишком много возможностей.

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

аналогично. если genkernel собирает с этим ненужно, еще один гвоздь

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

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

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

А я, дурак,

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

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

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

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

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

Рассказывай, чо уж. Как баг в COW связан с пользователями.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

h578b1bde ★☆ ()

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

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

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

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

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

Odalist ★★★★★ ()

Пусть гражданину Миллеру доверят фиксить

ЗЫ STOP GREEN

anonymous ()

Решето же. Драгонфлайбсд лучше.

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

Евгений Ваганович, перелогиньтесь.

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

Что оно развесистое — это следствие 900001 типов железа требующего драйверов.

anonymous ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.