LINUX.ORG.RU

CVE-2025-68260: Первая уязвимость в коде Linux на Rust

 , ,


0

4

Грег Кроа-Хартман анонсировал первую уязвимость с присвоенным CVE в части кода на Rust в Mainline-ядре.

Уязвимость обнаружена в коде подсистемы Binder, переписанном на Rust. Возможное состояние гонки в unsafe блоке может повредить указатели связанного списка и привести к краху ядра.

Уязвимость воспроизводится в ядре 6.18 при использовании нового, переписанного на Rust драйвера Binder.

>>> Оригинал новости на Phoronix

★★★★★

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

the offending issue just causes a crash, not the ability to take advantage of the memory corruption, a much better thing overall.

pftBest ★★★★
()

Как сказал недавно мейнтейнер раста в ядре Miguel Ojeda - «Rust is here to stay».

https://lore.kernel.org/lkml/20251213000042.23072-1-ojeda@kernel.org/

Поздравляю всех причастных и сочувствующих!

P.S. Бесплатно раздаю скребки для очистки экрана https://img-edg.joomcdn.net/d7c0459c7f72698ee36a6aba741880b406fcba50_original.jpeg

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

в unsafe блоке

«Если бы я был президентом весь код был написан на Rust, то никакого unsafe здесь не было бы!» (c)

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

Быстро они это нашли... Оно со всеми бывает, конечно, но що, всего одна уязвимость на весь драйвер? Ну это почти победа :)

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

Как сказал недавно мейнтейнер раста в ядре Miguel Ojeda - «Rust is here to stay».

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

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

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

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

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

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

Вся суть и есть в том, что проблему можно мгновенно найти.

Будь это так, то проблема не попала в ядро, т.к. была бы отсеяна на этапе тестирования.

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

гуглу достаточно чтобы она не попала в андроид

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

Да вряд ли. После unsafe можно почти все, а возможности человека ограничены, пишут как умеют. Писать так, что б без возможных гонок, это ж голову сломать надо. Чудес же не бывает. В компиляторе раста есть статический анализатор, а вот про автоматический генератор безошибочного кода ничего не сказано. :)

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

в unsafe блоке

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

То есть баги теперь нужно офомлять в специальный блок.

Напоминает пошлый анекдот про волка и зайца - «E@атни столько же, просто ещё документальной работы добавилось». Простите…

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

Ну да, вечер, офис, кубики... Из одного кубика доносится восторженный крик: «я только что нашел ПОСЛЕДНЮЮ ОШИБКУ!!»... :)

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

тем не менее, гугл любит бесполезную работу и вполне может чем-то таким пользоваться - заранее создать дыру в определённом месте, но не пустить это в ветку, идущую в android

mittorn ★★★★★
() автор топика

А переписывали его методом «Перепиши мне этот модуль на Rust»?

thecode

А в конце ответа ещё вопрос: «Хочешь….»?

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

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

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

Гонки ты просто так не отследишь. Это тебе не null pointer dereference, воспроизводимая в 100 случаях из 100. Тут еще надо условия подгадать.

gns ★★★★★
()

Три дня. Три дня потребовалось Rust, чтобы ядро проржавело насквозь! (%

mord0d ★★★★★
()

Грег Кроа-Хартман анонсировал первую уязвимость с присвоенным CVE

Так мило, поздравляю причастных %)

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

PS: На самом деле раст - это хорошо, конечно. Лучше отфильтровывать хоть какую-то часть багов, чем не отфильтровывать их вообще.

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

На гонках в сишном коде ядро грохнулось бы точно так же. :)

gns ★★★★★
()

Грег Кроа-Хартман анонсировал первую уязвимость с присвоенным CVE

Так мило, поздравляю причастных %)

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

PS: На самом деле раст - это хорошо, конечно. Лучше отфильтровывать хоть какую-то часть багов, чем не отфильтровывать их вообще.

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

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

С чего ты решил что фантазии из твоего маня-мирка имеют какое-то отношение к разработке ядра?

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

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

Врёшь разумеется - если бы это было так ты бы уже килобаксы в гугловой ВВ зарабатывал.

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

А с чего ты решил, что разработчики ядра на расте чем-то отличаются от прочих растодебилов, полагающихся на компилятор?

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

от прочих растодебилов, полагающихся на компилятор

А они сейчас с тобой, в одной комнате?

Они вообще где-то кроме твоих дебильных strawman-аргументов встречаются?

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

Баги будут всегда и тестирование тоже не панацея, но источник бага гораздо проще находить в таком режиме.

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

Вот я и вижу - всё одно проворонили. Грамотные СИшники понимают с какой гранатой имеют дело, в расте же ещё грамотных программеров не выросло - опыта нет, а уже лезут драйвера писать.

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

Ну ты по себе-то не суди. Если ты у нас светоч программирования за две сигмы по Гауссу справа, то остальные-то в серединке где-то и ближе к левому краю распределения.

gns ★★★★★
()

Грег Кроа-Хартман

«Пацаны, я люблю вас! Кроме тебя, Кайл Rust!». Эрик Теодор Картман.

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

Если ты у нас светоч программирования

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

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

Да, мем про «жава не тормозит» немного устарел.

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

Где ты видел этих мифических программистов на Rust, которые полагаются на компилятор

В каждом топике по успехи раста. Правда в топики про вредоносы в карго, вирусы на раст и уязвимости в ядерном расте они не заходят.

PPP328 ★★★★★
()

а я короче не удивлён

doomer
()

А сколько ещё гонок которые приводят к дедлоку будет найдено в safe блоках… :) Скорее всего уже нашли, просто найти где именно и как оно получилось не могут. Дедлок дело такое, просто всё колом встаёт без всяких там крашрепортов - растофил тупо не сможет такое найти, потому что если компилятор или что-то ещё не сообщает об ошибке, то это и не ошибка же вовсе. :)

Оборжаться, конечно. Мало того, что растофилы опять и снова переписывают уже давно написанное, так даже переписать без ошибок не могут. :)

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

Ну а кому ещё-то нужен компилятор, который за программиста решает, что ему можно, а что нет?

gns ★★★★★
()

Штош, г’RUST’но, товарищи

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

И тонны анализаторов и отладочных режимов сборки ядра Linux, для поиска уязвимостей и отладки

I-Love-Microsoft ★★★★★
()
Ответ на: комментарий от drfaust

Откуда знаешь, что на Расте в ядро коммитят не сишники выучившие ещё один язык?

В любом случае в ядре много интеропа с сишным кодом (так ещё и документация часто только сам код и комментарии к нему), так что без знаний Си никак.

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

Сишникам в ядре своей работы хватает. Зачем им этот мазохизм? На расте писать отнюдь не проще. Думать надо немного по-другому.

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

И что же, даже багов «грамотные сишники» не делают? И прям так с первого раза пишут? Ну, да, ну, да. Такая концепция не работает, если мы конечно не разрабатываем в стиле NASA/MISRA/и т.д., и даже такой код взрывается от ошибок.

ac130kz ★★★
()
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.