Джек М. Жермен
16 октября 2019 10:09 PT
Разработчики исправили уязвимость в Sudo, основной командной утилите для Linux, которая позволяет пользователю выполнять команды от имени пользователя root, даже если этот корневой доступ был специально запрещен.
Патч предотвращает возможные серьезные последствия в системах Linux. Тем не менее, по словам Тодда Миллера, разработчика программного обеспечения и старшего инженера Quest Software и сопровождающего проекта Sudo с открытым исходным кодом, уязвимость Sudo представляла угрозу только для узкого сегмента пользовательской базы Linux.
«Большинство конфигураций Sudo не подвержены этой ошибке. Домашние пользователи, не являющиеся корпоративными пользователями, вряд ли будут затронуты вообще», — сказал он LinuxInsider.
Тем не менее, уязвимость считается серьезной. Именно поэтому Red Hat оценивает его почти как 8/10 с точки зрения риска, сказал Джейсон Дэвид, генеральный директор Software Portal.
«Единственным исправлением на данный момент является установка исправления в Sudo 1.8.28. Тем временем вы можете временно удалить всех пользователей из файла sudoers (users) и заменить их после установки исправления», — сказал он. сказал LinuxInsider.
Разработчики выпустили патч Sudo несколько дней назад. Однако он должен быть упакован для каждого дистрибутива Linux и распространяться через сотни сообществ Linux, которые поддерживают отдельные операционные системы Linux.
Содержание статьи
Что делает
Ошибка Sudo обозначена как CVE-2019-14287 в базе данных Common Vulnerabilities and Exposures. Джо Венникс из Apple Information Security обнаружил и проанализировал ошибку.
После установки исправления ошибка Sudo будет затрагивать только версии Sudo до 1.8.28. Red Hat оценила уязвимость по 7,8 баллам по шкале CvSS.
Судо расшифровывается как «superuser do». Команды Sudo вводятся в приложение командной строки терминала для выполнения рутинного управления программным обеспечением и других конфигураций и действий системы Linux.
Sudo — это системная команда, которая позволяет пользователю запускать приложения или команды с привилегиями другого пользователя, например системного администратора, без переключения сред. Чаще всего Sudo используется для запуска команд от имени пользователя root.
Эта ошибка позволяет пользователям обходить ограничения привилегий для выполнения команд от имени пользователя root. По сути, это позволяет злоумышленникам обойти встроенные параметры безопасности, чтобы заблокировать root-доступ для указанных пользователей.
Как это работает
Злоумышленники могут использовать эксплойт Sudo, просто указав идентификатор пользователя, выполняющего команды, равным «-1» или «4294967295.» Ошибка позволяет обоим этим идентификаторам пользователей автоматически разрешать значение «0» — идентификатор пользователя для доступа с правами root.
Sudo не требует пароля для запуска команд в контексте другого пользователя. Согласно Red Hat, уровень сложности эксплуатации низок.
Это влияет на дистрибутивы Linux, которые содержат ключевое слово «ALL» в спецификации RunAs в файле конфигурации / etc / sudoers. Ключевое слово ALL позволяет всем пользователям в определенной группе запускать любую команду как любой действительный пользователь в системе и обычно присутствует в конфигурациях Linux по умолчанию, согласно Red Hat.
Этот сценарий ошибки потенциально мог повлиять на большой пользовательский сегмент, согласно некоторым разработчикам программного обеспечения, но другие утверждали, что проблема не затронула бы большинство пользователей Linux.
Подтверждение привилегий
Разделение привилегий является одной из фундаментальных парадигм безопасности в Linux. В настройках предприятия администраторы могут настроить файл sudoers, чтобы определить, какие пользователи могут выполнять какие команды.
В определенном сценарии, в котором пользователю разрешено запускать команду от имени любого другого пользователя, кроме пользователя root, уязвимость может позволить этому пользователю обойти политику безопасности и получить полный контроль над системой как root.
В противном случае пользователь должен был бы знать пароль для root-доступа, чтобы выполнить команду sudo. Миллер объяснил в посте на сайте Sudo, что добавление параметров -u # -1 или -u # 4294967295 к команде sudo — это все, что нужно для получения дополнительных привилегий root.
Рекомендуется всегда быть в курсе обновлений и пакетов вашего дистрибутива. Однако, если у вас нет файла sudoers, в котором используется описанная выше идиома, нет необходимости торопиться с обновлением пакета Sudo, отметил Миллер.
«Мне неизвестно о каких-либо поставщиках, которые бы поставили файл с сообщением о судовых запасах, на который это может повлиять», — сказал он.
Требуется уникальная настройка
Конфигурация операционной системы Linux является критическим фактором, определяющим, может ли работать уязвимость Sudo. Ошибка Судо затрагивает только компьютеры Linux, которые были настроены нестандартным образом, подчеркнул Дуглас Кроуфорд, технический эксперт ProPrivacy.
«Это не влияет на большинство систем Linux, и ни одна система Linux по умолчанию не уязвима», — сказал он LinuxInsider.
Уязвимость затрагивает только системы, которые были настроены для того, чтобы другие авторизованные пользователи могли выполнять ограниченный набор команд sudo. Кроуфорд объяснил, что, используя ошибку, эти sudoers с ограниченным доступом могут выполнять команды, как если бы у них были полные привилегии sudo (администратор).
«Мало того, что это очень необычная настройка, но она очень не рекомендуется, даже без учета ошибки. Это также вызывает беспокойство, если по какой-то причине вы не доверяете своим пользователям с ограниченным доступом не использовать ситуацию ", добавил он. «И если вы не доверяете своим sudoers, то почему вы дали им какие-либо привилегии администратора в первую очередь?»
Ограниченное влияние в худшем случае
Лай выглядит хуже, чем укус с этой конкретной уязвимостью для Linux. На самом деле это не очень критическая уязвимость, предположил Крис Моралес, глава отдела аналитики безопасности в Vectra.
«Системная конфигурация, позволяющая пользователю запускать команду от имени любого пользователя, кроме меня, не кажется мне нормальной. Это может повлиять на очень специфическую систему с определенной потребностью в таком типе конфигурации», — сказал он LinuxInsider.
В корпоративной среде системные администраторы — и в этом отношении другие пользователи — могут выполнить быструю проверку, чтобы убедиться, что их компьютеры подвержены риску ошибки Sudo, — сказал Мехул Реванкар, старший менеджер по продуктам SaltStack.
Проверьте конфигурацию sudoers на наличие уязвимых записей, выполнив эту команду в терминале:
# grep -r '! S * root >' / etc / sudoers /etc/sudoers.d/ | grep -v '^ s * #'
Если эта команда не выдает никаких результатов, значит, система не уязвима, в противном случае необходимо проверить конфигурацию, сказал Реванкар в LinuxInsider. Уязвимые записи конфигурации будут выглядеть примерно так:
alice myhost = (ALL,! Root) / usr / bin / vi
Если они присутствуют, их следует отключить или изменить, чтобы они явно указывали имена разрешенных целевых пользователей и избегали "!" синтаксис.