Новости

Первая уязвимость Rust в ядре Linux: миф о безопасности разрушен?

В ядре Linux выявлена первая брешь, связанная с использованием языка Rust. Хотя этот язык программирования признан значительно более защищённым по сравнению с C и C++, на которых основана основная часть ядра, его абсолютная надёжность оказалась под вопросом. Уязвимость оперативно исправили, однако она может быть не последней, учитывая растущий объём кода на Rust в каждой новой версии ядра.

В Linux обнаружена уязвимость CVE-2025-68260, возникшая из-за интеграции кода на языке Rust. Rust считается одним из наиболее безопасных языков, особенно в сравнении с C и C++, которые не обеспечивают корректной работы с памятью, что часто приводит к появлению уязвимостей.

Тем не менее, CVE-2025-68260 стала первым случаем обнаружения "дыры" именно в Rust-коде ядра Linux. Она была найдена в подсистеме межпроцессного взаимодействия Binder, а обнаружил её лично Грег Кроа-Хартман (Greg Kroah-Hartman), американский разработчик, входящий в число ключевых создателей Linux.

Хартман известен, среди прочего, тем, что осенью 2024 года исключил из сообщества Linux более десяти российских разработчиков ядра. Также он ответственен за добавление в ядро маловостребованного кода — в декабре 2025 года он включил стабильный драйвер для интерфейса GPIB, созданного полвека назад и практически утратившего актуальность.

При этом стоит отметить, что Хартман, хотя и является одним из ветеранов разработки Linux, не причисляется к так называемым "староверам". К этой группе относят тех, кто утверждает, что Rust-коду нет места в ядре Linux, и что следует использовать только C и C++. Сам Хартман ещё в 2019 году заявил, что не будет препятствовать включению в ядро фреймворка для написания драйверов на Rust.

Об уязвимости CVE-2025-68260 впервые сообщили 16 декабря 2025 года, а через два дня её устранили. К моменту публикации материала у неё уже был собственный идентификатор, однако уровень опасности по 10-балльной шкале ещё не успели присвоить.

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

Важно подчеркнуть, что проблема затрагивает не всех пользователей Linux. Подсистема Binder вошла в ядро версии 6.18, выпущенной 30 ноября 2025 года, поэтому более ранние сборки не подвержены уязвимости. Кроме того, брешь была устранена на этапе разработки ядра 6.19, так что его стабильная версия выйдет уже без этой проблемы.

Уязвимость CVE-2025-68260 оказалась легко исправимой. Разработчики переписали всего несколько строк кода и оперативно выпустили необходимый патч для сборки ядра 6.18.1.

В своих комментариях Хартман отметил, что использование Rust в ядре Linux не является гарантией отсутствия сбоев и уязвимостей. Однако он признал, что этот язык действительно помогает избежать множества потенциальных "дыр".

Стоит отметить, что данная уязвимость стала первой и пока единственной в ядре Linux, связанной с кодом на Rust. Вполне вероятно, что со временем их количество может возрасти, однако для сравнения: за тот же период в коде на С и С++ было обнаружено 159 уязвимостей — то есть в 159 раз больше.

Rust — относительно новый язык программирования. Языки С и С++ существуют с 1972 и 1982 годов соответственно, в то время как разработка Rust ведётся с 2006 года.

Энтузиасты Rust практически сразу после его официального представления в 2012 году начали постепенно интегрировать код на этом языке в ядро Linux в экспериментальном режиме. Активная стадия этого процесса стартовала в 2022 году, а спустя ещё три года, в декабре 2025-го, эксперимент был успешно завершён.

По оценке разработчиков, внедрение прошло вполне удачно. Теперь код на Rust в ядре Linux — не экспериментальный элемент, а полноценная часть наравне с кодом на С и С++.

Геннадий Ефремов

Поделиться:

0 Комментариев

Оставить комментарий

Обязательные поля помечены *
Ваш комментарий *
Категории