LINUX.ORG.RU

В Rust Coreutils выявлено 113 уязвимостей. В Ubuntu 26.04 возвращены cp, mv и rm из GNU Coreutils

 , ,


1

5

Компания Canonical опубликовала предварительные итоги внешнего аудита безопасности инструментария uutils coreutils (Rust Coreutils), написанного на языке Rust и частично применяемого в Ubuntu вместо пакета GNU Coreutils. Аудит был выполнен компанией Zellic, имеющей опыт анализа уязвимостей в проектах на языке Rust. В ходе проверки было выявлено 113 проблем с безопасностью.

В настоящее время уже доступен отчёт с результатами первого этапа аудита, охватывающего наиболее важные утилиты из набора uutils. На первом этапе, который был проведён с декабря 2025 по январь 2026 года, было выявлено 73 уязвимости, из которых 7 отмечены как критические, 11 - опасные, 29 - средней опасности и 26 - неопасные.

Информация о всех выявленных проблемах уже передана разработчикам uutils и большая часть уязвимостей была устранена в выпусках uutils 0.5-0.8 без лишней огласки.

Пакет rust-coreutils был включён по умолчанию в осеннем выпуске Ubuntu 25.10, но с учётом выявленных в ходе аудита проблем в LTS-ветке Ubuntu 26.04 возвращены утилиты cp, mv и rm из набора GNU Coreutils. Отмечается, что по состоянию на 22 апреля в данных утилитах остаётся не исправлено 8 известных состояний гонки. Остальные утилиты задействованы из выпуска rust-coreutils 0.8.0. В Ubuntu 26.10 разработчики намерены полностью перейти на rust-coreutils.

Уязвимости в системных утилитах опасны тем, что они используется в скриптах, запускаемых с правами root. Например, устранённая в выпуске uutils coreutils 0.3.0 уязвимость в утилите rm могла быть эксплуатирована при ежедневном запуске из cron скрипта /etc/cron.daily/apport, который выполняется с правами root и рекурсивно удаляет содержимое каталога /var/crash, доступного на запись всем пользователям в системе.

Среди уязвимостей, помеченных в первом отчёте критическими:

  • Уязвимость в утилите chroot, вызванная обработкой опции --userspec после вызова chroot(), но до сброса привилегий. На системах с glibc резолвинг имён через функцию getpwnam() приводит к чтению файла /etc/nsswitch.conf, применяемого в NSS (Name Service Switch), и динамической загрузке указанных в нём библиотек с модулями NSS (libnss_*.so.2). Так как до обработки NSS выполяется вызов chroot() файл /etc/nsswitch.conf загружается относительно нового корня, но NSS-библиотеки загружаются до сброса привилегий. Если пользователь имеет доступ на запись к новому корню, то он может подставить свои NSS-библиотеки и добиться выполнения кода с правами root.
  • Изменение прав доступа к файлу после сбоя создания именованного канала (FIFO) утилитой mkfifo - если указать в качестве аргумента существующий файл, то mkfifo вернёт ошибку, но при этом аварийно не завершит работу, а выполнит вызов set_permissions() и изменит права доступа к существующему файлу. С учётом umask 022 уязвимость позволяет поменять права доступа к файлу на 644 (rw-r-r-) и получить доступ к файлам, для которых не было разрешено чтение.
  • Обход ограничений --preserve-root в утилите chmod, запрещающих выполнение рекурсивных операций относительно корня ФС. Уязвимость (CVE-2026-35338) вызвана тем, что в коде проверялось только точное совпадение пути с / и не выполнялась канонизация файлового пути. Для обхода проверки достаточно использовать путь вида /../ или символическую ссылку на корень. Уязвимость опасна тем, что при возможности подставить свой путь в системный скрипт вызывающий команду chmod, можно добиться рекурсивного изменения прав доступа для всех файлов в ФС.
  • В утилите rm допускалась обработка любых сокращений опции --no-preserve-root (--n, --no, --no-p, --no-pres и т.п.) для отключения защиты от выполнение рекурсивной операции с корнем (например, можно указать rm -rf --n / и удалить по ошибке все данные. В GNU Coreutils подобные сокращённые опции запрещены.
  • Обход ограничений --preserve-root в утилите rm, запрещающих выполнение рекурсивных операций относительно корня ФС, через подстановку символической ссылки на «/».
  • Отсутствие полноценной защиты от указания каталогов, начинающихся с точки. Например, при выполнении rm -rf . утилита выведет ошибку, но при указании rm -rf ./ или rm -rf ./// молча удалит текущий каталог.
  • Ошибка в коде разбора аргументов утилиты kill позволяет отправить сигнал всем процессам в системе при указании идентификатора процесса -1 (kill -1).

>>> Источник

★★

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

Не надо путать язык и дефолтную библиотеку.

Ну что ты, надо первым делом выкинуть дефолтную библиотеку и всё написать самому заново - только так и используют ЯП, ага. С чего ты взял что при обсуждении ЯП надо ориентироваться на каких-то шизоидов, а не на то что используют программисты?

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

сквозного шифрования нет

Есть. Не такое удобное как в https://www.rfc-editor.org/rfc/rfc9420.html - дык и телега появилась раньше этого RFC.

код сервера закрыт

Ну напиши открытый - с учётом известного протокола это не rocket science.

а иногда даже банят

Ты правда считаешь что тебя не могут забанить в жабере, LOL? Бан это решение владельца сервера и его конкретного пользователя, оно вообще никак с протоколом не связано.

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

Была же другая объектированно-паскальная IDE - Lazarus, если и правда это было причиной. Но нет. Видимо, причина не в этом была. Но в том, что это практически очень полезная штука была - я согласен. В этом плане Go несколько напоминает Delphi/Lazarus.

К моменту, когда этим стало можно нормально пользоваться уже было поздно слишком. Понятно, что там комплекс причин смерти, в том числе – выбор направления развития. Которое пошло «не туда» после ухода Хейлсберга. Начались какие-то странные телодвижения туда-сюда и непонятно куда в итоге. То мы пойдём в кроссплатформенность (и сделаем это хуже, чем Лазарус потом), то мы вообще теперь на дотнете работаем. При этом реально нужные фичи, вроде Юникода, появились аж в 2009 версии.

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

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

Мерси, действительно интересно звучит - непременно попробую.

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

К торрент-клиенту из Emacs? Скажите честно, вам гланды проктолог удалял?

Ты ещё скажи что консоль нужно не внутри Emacs запускать и окнами не через него управлять :-Р

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

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

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

У меня 15 тысяч раздач

Восхищаюсь тобой! Однако ты ведь понимаешь что это порядка этак на 3 больше чем у типичного пользователя этих клиентов, под которого и затачивают свой код разрабы?

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

Оно лучше, чем nomacs и oculante?

Не доводилось пробовать.

не заявлены crop и brightness/contrast

Аналогично - мне ж просмотрщик нужен, а не редактор. Чисто поглазеть на сиськи-жёппы и С4 диаграммы :)

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

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

GwenView на каком пункте споткнулся?

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

У меня два экземпляра transmission с 3 и 4 тысячи раздач

Горжусь тобой!

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

Бизнесу нафиг было не нужно зависеть от какого-то мутного дяди с неадекватными ценами.

Пока почти вся разработка была windows-only, бизнесу это не особо мешало, и бизнес решения, сделанные на Delphi, уминал за обе щёки. Более того, Embarcadero до сих пор продаёт купленные у Борланда решения (RAD Studio), и сейчас оно даже кроссплатформенное и умеет в линукс. Но время ушло, да. «Комитетный» C++ (за что его так не любит @Croco) оказался более живуч, чем развиваемый почти в одну харю объектный Паскаль.

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

Была же другая объектированно-паскальная IDE - Lazarus

Он и сейчас есть. DoubleCommander на нём написан, например.

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

за что его так не любит @Croco

Он в виду терминальной стадии фимоза не любит вообще всё что не соответствует его на редкость идиотским представлениям о том как правильно.

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

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

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

Потому что этот рынок заняла винда.

Вот и задай себе вопрос - ПОЧЕМУ ? И вот когда ответишь на него явно и без фанатизма. Тогда и поговорим.

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

Вот и задай себе вопрос - ПОЧЕМУ ?

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

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

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

Маркетинговый гений Гейтса и компашки. «Инернет в каждый дом» - взрывное развитие интернета. Игрушки - железа на десктопе. Пока напыщенные снобы из Сан, Айбм и ХулитПаккарда и прочих Силикон Грапфикс гордились своими технологическими изысками, Виндовс 95 завоевывала мир. А потом еще херакс и ВиндовсСервер начал теснить линукс на серверах.

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

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

Маркетинг тут - вторичен. имеет место быть, при внедрении главный показатель. А именно - СТОИМОСТЬ ВЛАДЕНИЯ в течении жизненного цикла. И какими-бы красивыми словами все не оборачивали, все разбивается об эту цифру. ты о5 про технологии, обвинения маркетинга и все такое. А надо - о ДЕНЬГАХ. А ДЕНЬГИ говорят, что без стандартизации и предсказуемости, владение подобным продуктом ДОРОГО и несет весьма такие серьезные РИСКИ. Сюда-же накладывается отсутсвие вменяемых (и тогда и сейчас) драйверов оборудования. Которые, до кучи, в большинстве своем - нахоядся в ядре системы, что еще более затрудняет ее использование на десктопе, потому как очень сильно затрудняет и удорожает внедрение уже нового аппаратного обеспечения. Про отсутсвие прикладного программного обеспечения, которым нормально могут пользоваться обычные пользователи - можно вообще молчать. Потому как нет даже единого DE, без которого затраты на поддержку, равно как и на написание того самого прикладного ПО - еще более удорожабт владение системой на десктопе.

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

Еще раз повторяю - ИТ это не про твои гик-технологии. ИТ - это про ДЕНЬГИ. И линукс на десктопе это все - профукал. Как раз из-за фанатиков «разнообразияя». И из-за своей технической архитектуры, которая, внезапно, не подходит для десктопа.

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

«Инернет в каждый дом» - взрывное развитие интернета.

Для спправки людям, которые не знают истории. Майкрософт - профукал это самое развитие. Нормальная реализация ip протокола появилась там несколько позже. До этого даже в обычной 95-й винде использовалисбь отдельные костыли вроде winsock. И это было отдельное по.

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

И еще, первый интернет был через винмодемы которые работали в винде95 и не работали в линуксе, поэтому уже тогда линукс был уделом маргиналов.

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

Да похрену чего там было, когда 99% населения ходило в интернет через вин95 и AOL. У людей была прочная ассоциация интернет это IE в винде.

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

И еще, первый интернет был через винмодемы

Еще раз для людей, которые НЕ ЗАНЮТ ИСТОРИИ.

Самыми массовыми и известными в то время моделями модемов были: us robotics и zuxel. С различными моделями. Всякие винмодемы - появились очень сильно позже и жыли в основном в ноутбуках. И, что как-бэ неудивительно, появились уже к времени windows 98, но уж никаким боком ко времени windows 95, где никакой реализации стека tcp/ip просто не было в принципе.

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

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

О каких конкретно операциях идёт речь? Хотя бы парочку.

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

Или все еще не доходит, что ИТ - это НЕ про технологии. ИТ, в первую очередь - про ДЕНЬГИ.

А ты точно про ИТ, а не про бизнес(в том числе ит-бизнес)? А раскрой аббревиатуру ИТ.

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

«В состав Windows 95 входила встроенная поддержка коммутируемого доступа в сеть , позволяющая пользователям подключаться к интернет-провайдерам (ISP) с помощью модема. Также в Windows 95 был включен Internet Explorer 1.0, который служил веб-браузером по умолчанию и позволял пользователям просматривать всемирную паутину.»

У меня точно был винмодем, зухель и шпрот стоили очень дорого.

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

Internet Explorer 1 (сокращённо IE1) — первая версия Internet Explorer, вышедшая 24 августа 1995 года. Это была переработанная версия браузера Spyglass Mosaic. Он поставлялся как обозреватель по умолчанию в Microsoft Plus! для Windows 95.

Даже в винде 3.1 уже был интернет

https://www.kerrlake.com/support/win31/win311.htm

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

Windows 3.x вышла в 90 году. Уже имела интернет из коробки. И first version of the Office suite, announced by Bill Gates on August 1, 1988, at COMDEX, contained Microsoft Word, Microsoft Excel, and Microsoft PowerPoint. Что начинал в 90 году финский парень? Писать эмулятор терминала?

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

И какие после этого были у линукса шансы на десктопе?

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

Да в современном интернете никогда не поймешь: тролль чел, шиз или просто дурачок.

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

In 1996, two types of modem began to reach the market: host-based modems, which offloaded some work onto the host CPU, and software-only modems which transferred all work onto the host system’s CPU.[5] In 1997, the AC’97 standard for computer audio would introduce channels for modem use, making software modem technology common in PCs.

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

В моем первом комментарии вообще речь о компиляторах не шла, но ты их к чему-то приплел.

Ты сначала свой глаз проверь, туда что-то попало.

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

Ты выдрал эту цитату из статьи про историю именно софтмодемов, тактично умолчав, что софтмодемами мир не ограничивался.

Если открыть общую статью про историю модемов или, скажем, статью о USR (wikipedia.org), то станет очевидно, что софтмодемы были далеко-о-о-о не единственными модемами.

Например, великолепный Courier V.Everything, вышедший в 1994 году (и который у меня, к слову, до сих пор есть и использовался в свои последние годы в качестве автоответчика домашнего телефона), являлся аппаратным модемом с обновляемой прошивкой. И подобных (пусть и не обновляемых) было очень много. Я даже помню рекомендацию из тех времен для линуксоидов: покупайте внешние не-винмодемы.

Так что я просто повторю свой вопрос: сколько раз мне надо тебя поймать на вранье и выдумках, чтобы ты выложил пароль и самозабанился, пародия на тролля? Я, в отличие от тебя, действительно знаком со старым железом, осями и постоянно с ними вожусь. На любую твою выдумку я найду опровергающие ссылки, подсвечивая на весь лор твоё враньё.

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

Включать в LTS бета-версию системных утилит. Что могло пойти не так? o_0

Я всё же не понимаю, куда они спешат? Типа на хайпе заскочить в первый вагон что ли, или это такой своеобразный способ ускорить написание реализации coreutils на rust?

Ну круто, что серьёзные дядьки провели серьёзный аудит, но вопросы всё равно остаются.

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

И чего у тебя так бомбит по каждому поводу?

У моей бабушки был ноутбук с вин95 и телефонным джеком. Интернет там работал и стоял софтмодем стопудово. Чего ты хочешь нам тут доказать?

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

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

Ты написал:

первый интернет был через винмодемы

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

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

and software-only modems which transferred all work onto the host system’s CPU

96 год, А это и есть «винмодемы», to reach the market - начались продажи. Вопросы?

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

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

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

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

Ну?

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

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

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

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

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

Не ври, врунишка. Еще раз, твоя же цитата: первый интернет был через винмодемы которые работали в винде95 и не работали в линуксе.

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

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

У тебя же полная каша в голове. Неудивительно, что у тебя пробабка на X-терминале сатурн-5 проектировала, лол.

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

Так убунта как обычно: кидаются в крайности, а потом всё закапывают, или самозакапываются.

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

Сформулирую так, «для людей, которые не могли себе позволить дома очень дорогой курьер, а таких людей 90% т.к. интернет тогда считался игрушкой и баловством». Вопросы?

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