Состоялся (https://www.spinics.net/lists/util-linux-ng/msg14048.html) релиз комплекта стандартных низкоуровневых системных утилит util-linux 2.30 (https://github.com/karelzak/util-linux/), в который входят как тесно связанные с Linux-ядром утилиты, так и утилиты общего назначения. Например, в пакете представлены утилиты mount/umount, fdisk, hwclock, cal, blkid, fsck/cfdisk/sfdisk, blockdev, chrt, mkfs, ionice, more, renice, su, kill, setsid, login, shutdown, dmesg, lscpu, logger, losetup, setterm, mkswap, swapon, taskset и т.п. Основные улучшения (https://www.kernel.org/pub/linux/utils/util-linux/v2.30/v2.3...):
- В библиотеке libblkid добавлена поддержка гибридных (https://en.wikipedia.org/wiki/Hybrid_DVD) носителей CDROM/DVD, что позволило улучшить совместимость пользовательского окружения Linux с гибридными носителями, созданными в других ОС. Для гибридных CDROM/DVD метка тома и UUID извлекаются из заголовка UDF, а не из заголовка ISO9660, что может привести к регрессивным изменениям, в случае если в заголовках ISO и UDF указаны разные метки тома;
- Из поставки удалена команда tailf (https://www.opennet.dev/man.shtml?topic=tailf), которая ранее была объявлена устаревшей (следует использовать "tail -f" из состава coreutils);
- Добавлена новая команда blkzone для манипуляции с зонированными блочными устройствами с поддержкой набора команд ZBC (Zoned Block Commands) или ZAC (Zoned-device ATA Commands). В настоящее время поддерживаются только команды 'report' и 'reset';
- Добавлена новая команда fincore для подсчёта страниц памяти, содержащих контент заданного файла;
- Добавлена новая команда lsmem для вывода диапазонов доступной памяти и их статуса;
- Добавлена новая команда chmem для присвоения диапазонам памяти статуса online/offline;
- В команду fallocate добавлена поддержка операции "insert range";
- Реализация команд "column -t|--table" переведена наиспользование библиотеки libsmartcols, почти все возможности которой теперь доступны из командной строки, включая вывод заголовков таблиц, перегруппировка столбцов, выравнивание столбцов, древовидный вывод, выравнивание данных в ячейках, обрезание текста в ячейках и т.п.
- В libmount добавлен API для генерации кодов возврата и сообщений об ошибках/предупреждениях в форме, совместимой с утилитой mount;
- В hwclock убраны все внутренние проверки прав доступа (использовались при поставке с флагом suid, которые теперь не рекомендован для hwclock), в пользу внешнего разграничения доступа к часам реального времени (RTC);
- В util-linux 2.30 отмечена ещё не исправленная уязвимость (http://www.openwall.com/lists/oss-security/2016/02/27/1) CVE-2016-2779 (https://security-tracker.debian.org/tracker/CVE-2016-2779), которая позволяет использовать утилиту runuser для выхода из контекста родительского сеанса через отправку специально оформленного ioctl-вызова TIOCSTI, подставляющего символы в буфер терминала. Проблема остаётся неисправленной из-за возникающих после исправления регрессивных изменений, которые приведут к нарушению привычного поведения утилит su и runuser при ограничении доступа к ioctl TIOCSTI через setsid(). Как вариант рассматривается возможность создания нового ioctl для отключения TIOCSTI без setsid() или перенос обработки pty-контейнеров в пространство пользователя (планируется как экспериментальная возможность утилиты su).
URL: https://www.spinics.net/lists/util-linux-ng/msg14048.html
Новость: http://www.opennet.dev/opennews/art.shtml?num=46649