Информационные технологииStfw.Ru 🔍
🕛

"Дыра" в Linux превращает любого пользователя в админа системы

\"Баг\" в предустановленной командной утилите Linux позволяет обходить разграничения полномочий для пользователей, так что даже при ограниченных привилегиях можно запускать
"Баг" в предустановленной командной утилите Linux позволяет обходить разграничения полномочий для пользователей, так что даже при ограниченных привилегиях можно запускать приложения с правами суперпользователя. Для этого локальному пользователю потребуется "правильно" себя идентифицировать.Всё дозволеноСерьёзная уязвимость в системной утилите Sudo, которая есть практически в каждой ОС на базе UNIX/Linux, позволяет обходить её политику безопасности и выполнять команды с уровнем прав Root непривилегированным пользователям, даже если настройки утилиты (Sudoers configuration) прямо это запрещают.Утилита Sudo (Superusers do) предназначена для того, чтобы пользователи, работающие в среде UNIX/Linux с неадминистративным уровнем прав, могли запускать некоторые приложения или команды без переключения сред, то есть без перехода в административный режим.В файле настроек /etc/sudoers по умолчанию для всех пользователей, входящих в группы администраторов и sudo, выставлено разрешение запускать любую команду в качестве любого пользователя; иными словами, даже если данный конкретный администратор в текущий момент работает из-под непривилегированной учётной записи, он всё равно может выполнять команды как администратор.Поскольку жёсткое разделение полномочий - одна из основных парадигм безопасности в Linux, администраторы могут прописывать более конкретно, что может делать тот или иной пользователь и с какими правами, а чего он делать не может.Однако, если у данного пользователя есть полномочия на запуск команд и приложений с любыми правами ниже рута, выявленная уязвимость в Sudo, тем не менее, позволяет ему обходить это ограничение и фактически делать всё, что может делать пользователь с root-полномочиями.Правильный идентификаторНапример, если в файле /etc/sudoers заданы параметры "myhost bob = (ALL, !root) /user/bin/vi", то пользователь с идентификатором bob может запускать приложение Vi (текстовый редактор, по умолчанию включённый в большинство дистрибутивов Linux) с любыми правами, кроме root.Однако если bob запускает Vi, используя команды вида "sudo -u#-1 id -u" или "sudo -u#4294867295 id -u", то у него появляется возможность запуска Vi с правами суперпользователя (рута).Всё, что идёт после sudo - это присвоение нового идентификатора данному пользователю. Функция Sudo, отвечающая за конвертацию идентификатора в пользовательское имя, некорректно интерпретирует -1 или 4294867295 (это число является беззнаковым эквивалентом -1), как 0, а нулевой идентификатор - это обозначение рута.Уязвимость, получившая индекс CVE-2019-14287, затрагивает все версии Sudo до самой последней - 1.8.28, выпущенной буквально на днях."Эксплуатация уязвимости едва ли угрожает большому количеству пользователей: слишком специфичными являются условия, при которых это возможно, - считает Анастасия Мельникова, эксперт по информационной безопасности компании SEC Consult Services. - С другой стороны, эта ситуация в очередной раз свидетельствует о том, что даже самые распространённые и часто используемые разработки с открытым кодом могут содержать очень серьёзные ошибки, чреватые компрометацией системы".Пользователям Linux рекомендуется обновить Sudo в ближайшее время.

Также по теме:
Вне компьютерной темы.