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

отметили
30
человек
в архиве
«Дыра» в 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 в ближайшее время.

Добавил ramstor ramstor 21 Октября
Комментарии участников:
X86
0
X86, 21 Октября , url

Там же вроде пароль root надо знать.

arez
+1
arez, 21 Октября , url

Нет.

Как и было сказано, данная конфигурация очень специфична.

zman
0
zman, 21 Октября , url

Закладочка

shifty
+1
shifty, 22 Октября , url

заголовок для кликов

не любого пользователья, а только такого, кому настоящий рут дал редко встречающуюся комбинацию ВСЕ ПРАВА! (кроме рута). То есть настоящий заголовок «некоторые хорошие друзья админа изредка могут получить права админа»



Войдите или станьте участником, чтобы комментировать