LINUX.ORG.RU

Уязвимость DirtyCred в ядре Linux

 , ,


0

1

Исследователи из Северо-западного Университета в Иллинойсе, Zhenpeng Lin, Yuhang Wu и Xinyu Xing опубликовали данные об уязвимости DirtyCred (идентификатор — CVE-2022-2588). Уязвимыми авторы называют все версии ядра, вышедшие за последние 8 лет.

Уязвимость использует технику use-after-free. Из-за ошибки в файле net/sched/cls_route.c ядро может сначала освободить память, а затем повторно использовать её. В данном случае в памяти размещаются реквизиты доступа, что позволяет злоумышленнику выполнить свою программу с повышенными привилегиями. Для эксплуатации уязвимости необходима программа с SUID битом, доступная злоумышленнику, например, su или sudo.

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

Прототип эксплоита пока не представлен. Атаки типа use-after-free достаточно сложны в исполнении и не гарантируют стабильный результат, однако обновиться всё-таки стоит.

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

★★★★★

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

Ответ на: комментарий от Vsevolod-linuxoid

Слишком толсто. Уязвимости неоднократно и в закрытом ПО находили, и да, случаи, когда их обнаруживали уже после начала эксплуатации преступниками тоже были.

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

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

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

Забавно, мне вталкивали обратное: в свободном ПО меньше уязвимостей так как сообщество вовлечено в их поиски. С проприетарным софтом дело обстоит несколько иначе. Они же там дружат со всякими крупными компаниями разрабатывающими антивирусники, не так ли?

Как показывает практика - сообществу пофиг, оно занято переименованиями black в не-black и так далее. А вот то что всякие dirty-хакеры вовлечены в поиски уязвимостей и регулярно их находят - это да ))

В случае с проприетарщиной, софт приходится юзать, гонять под нестандартными условиями, что достаточно ресурсоемко. Попробуй найти условную уязвимость в Windows, когда после каждой итерации, ее нужно переустанавливать.

Так что да, в свободном ПО уязвимость найти легче. О чем и мой коммент ;)

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

Верно. Ведь чтобы пофиксить уязвимость, её сначала нужно найти. И в СПО её могут найти не только штатные разработчики, но и члены научного сообщества, например, как в этом случае.

Vsevolod-linuxoid ★★★★★
()
Ответ на: комментарий от windows10

Спасибо утечкам — злоумышленники имеют доступ к исходному коду и Windows тоже. Не в таком полном объеме, как к коду СПО, но имеют. И не только об устаревших версиях речь, сколько раз утекал код предрелизов…

Так что рассчитывать на то, что Windows более защищена от того, что нехорошие люди не видели её исходников… несколько наивно. Видели.

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

Спасибо утечкам

Утечка == открытый исходный код. О чем и речь.

Ведь чтобы пофиксить уязвимость, её сначала нужно найти.

Нахождение != Фикс.

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

Утечка == открытый исходный код. О чем и речь.

Ну тогда всё ПО в мире открытым можно считать, ведь утечки не редкость, мягко выражаясь. Разница лишь в том, легально или нет смотреть его код. Но злоумышленникам на это плевать, понятное дело. А вот желающим исправить уязвимости — уже нет.

Нахождение != Фикс.

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

В итоге мы имеем ситуацию, что грамотный злоумышленник имеет доступ как коду проприетарного ПО, так и СПО, и может пользоваться этим в своих корыстных целях.

А вот если речь идет о людях со стороны, что желают помочь — то в СПО им открыты все пути: можно даже не писать фикс, а просто сообщить разработчикам, чтобы исправили — в худшем случае заигнорят, в лучшем кроме похвалы дадут денег (спонсоры СПО устраивают конкурсы по поиску уязвимостей). Но даже если заигнорят — можно поднять бучу в СМИ, чтобы все же пошевелились и закрыли дыру.

А вот с проприетарным ПО сложнее… ведь чтобы просто смотреть его код, нужно разрешение. А если ты его скачал без него — то писать разработчикам просто опасно, на тебя могут в суд подать. Даже если ты действовал исключительно из благих намерений, и даже не думал продавать уязвимость преступникам. Более того, были случаи, когда за помощь благодарили повесткой в суд даже в том случае, если человек не скачивал утекший код, а просто обнаруживал уязвимость изучая ПО, ведь это тоже нарушает EULA. А уж поднимать бучу в СМИ точно гарантировано кончится плохо.

В итоге СПО и проприетарное ПО одинаково уязвимы перед злоумышленниками, но второе активно ставит палки в колеса тем, кто хочет помочь разработчикам.

Vsevolod-linuxoid ★★★★★
()
Ответ на: комментарий от her_s_gory

use-after-free это же про указатели. Атака такая специфическая, что надо именно затирать память? Я спутал затирание с освобождением. Но нагуглил std::mem::zeroed с предложением по улучшению в будущих версиях. Или это не то? Я особо не вникал. Оно затирает при выделении памяти. Для затирания после освобождения есть библиотека zeroize с этой самой логикой.

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

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

А ты что можешь по 2 строчкам кода находить уязвимость? Тогда почему ты не нашёл эту или вообще все уязвимости в открытом коде?

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

Если нет рабочего эксплойта, то как ты воспользуешься уязвимостью? Как говорил Крис Касперски, «не каждая дыра — нора».

Mischutka ★★★★★
()
Ответ на: комментарий от Vsevolod-linuxoid

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

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

В случае с открытым ПО, его можно даже не ставить - код прошерстил, неправильный if заметил - и готово.

Это не так работает. Никто код не шерстит в поисках ошибок, используются автоматизированные инструменты для поиска типовых ошибок, а дальше - та же самая эмпирика, что и в случае отсутствия исходников.

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

Это и не может быть гарантией, доступность кода вовсе не означает, что его будут исследовать. Особенно в сложных случаях. Более того, это даже не гарантия, что о найденной уязвимости кому-то сообщат. Но в случае заведения CVE это обеспечивает прозачность и управляемость (можно отследить историю жизни и устранения).

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

проводили ли сравнения кто добавлял данные частки кода, приводящие к данному

В Open Source это так не работает. В Open Source «тысячи глаз», у любого есть право просматривать код и на этапе ревью зарубить этот патч. Так что в этом виноват лично @vovagubin1987 и все остальные пользователи Linux, так как с их молчаливого согласия этот код попал в ядро.

fsb4000 ★★★★★
()

Исследователей из Северо-западного Университета в Иллинойсе, Zhenpeng Lin, Yuhang Wu и Xinyu Xing

Не пытаюсь что-то разжигать, но блин какие исследователи из какого Университета в каком Иллинойсе?

Ко мне как то приперся такой диссер делать. По английски ни бум бум. Я его спрашиваю, как ты до этого времени в Америке дожил? Он мне - а что, как жил в Китае так и живу, разницы не заметил.

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

Там устроить use-after-free сложно. Хотя конечно если отмазаться unsafe’ами, то наверно можно, но это уже намеренное желание прострелить себе ногу.

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

в закрытом коде, это стало быть преимущество? практика показывает, что находят уязвимости в открытом коде быстрее находят и быстрее исправляют.

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

в закрытом коде, это стало быть преимущество? практика показывает, что находят уязвимости в открытом коде быстрее находят и быстрее исправляют.

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

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

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

именно поэтому закрытое ПО регулярно ломают? По той причине, что в закрытом ПО нет уязвимостей?

Одень очки и еще раз вдумчиво перечитай мой коммментарий

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

видимо тямы не хватает выполнить соответствующий запрос в поисковой системе…печально.

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