Уязвимости в libuser (CVE-2015-3245 и CVE-2015-3246)
Центр безопасности Red Hat сообщает об уязвимостях в программе userhelper
(в составе пакета usermode
) и в библиотеке libuser
, которые позволяют повысить полномочия локального пользователя, имеющего доступ к оболочке, до уровня root. Уязвимости userhelper
был присвоен код CVE-2015-3245, а libuser
— CVE-2015-3246. Обе угрозы классифицируются как ВАЖНЫЕ. Red Hat отдельно благодарит компанию Qualys за сообщение об этих уязвимостях.
Описание
Библиотека libuser
предоставляет стандартизированный интерфейс для администрирования пользователей и групп. Программа userhelper
, входящая в состав пакета usermode
, предлагает упрощенный текстовый интерфейс для изменения пароля пользователя, оболочки и информации в поле GECOS.
Степень воздействия
Ниже приведено описание вышеперечисленных уязвимостей.
Состояние гонки при изменении файла паролей (CVE-2015-3246, рейтинг «Важно»)
Наличие уязвимости в libuser
является прямым следствием того, как осуществляется работа с файлом /etc/passwd
. Дело в том, что libuser
вносит изменения в файл /etc/passwd
напрямую, в отличие от других известных программ наподобие passwd
, chfn
, chsh
, которые работают с временной копией файла /etc/passwd
и по завершении переименовывают ее с помощью функции rename()
. Однако в случае возникновения ошибок в ходе модификации /etc/passwd
, libuser
может оставить его в неопределенном состоянии.
Подобная несогласованность увеличивает потенциальный риск вызова отказа в обслуживании и в совокупности с CVE-2015-3245 допускает вертикальное повышение полномочий до уровня администратора.
Ссылки на рекомендации безопасности, адресующие эту проблему, приведены в таблице ниже.
Неполная проверка содержимого поля GECOS (CVE-2015-3245, рейтинг «Средний»)
Было установлено, что функция chfn
программы userhelper
не осуществляет проверку на наличие символа начала строки. Обычно chfn
проверяет наличие запрещенных символов (:,=
) в строке команды, но этот список не включал \n
, что позволяло злоумышленнику, действующему локально, добавить новую строку в файл /etc/passwd
и модифицировать его по своему усмотрению.
Умышленное внесение изменений в файл /etc/passwd
позволяло целенаправленно вызвать отказ в обслуживании.
Примечание: Несмотря на то, что эта уязвимость изначально относилась к пакету usermode
, она была адресована в последнем обновлении libuser
, так как libuser
так или иначе требовал доработки в связи с исправлением уязвимости CVE-2015-3246.
Рекомендации безопасности
Перечисленные уязвимости затрагивают все версии libuser
в Red Hat Enterprise Linux 6 и 7. Ниже приведена таблица с соответствующими рекомендациями безопасности.
Продукт | Рекомендация |
---|---|
Red Hat Enterprise Linux 6 | RHSA-2015:1482 |
Red Hat Enterprise Linux 7 | RHSA-2015:1483 |
Red Hat Enterprise Linux 5 тоже подвергается риску, но так как этот релиз находится уже на третьем этапе жизненного цикла, публикация исправлений не планируется.
Atomic Host и контейнеры
Все официальные образы контейнеров Red Hat содержат уязвимую версию libuser
. Для установки исправлений достаточно обновить пакеты, используя встроенную функциональность yum (см. секцию «Решение»). Выпуск обновленных сборок контейнеров планируется осуществить в ближайшее время.
Atomic Host также включает уязвимую версию библиотеки libuser
. В контейнерах исправления можно установить, используя встроенную функциональность yum. Надо отметить, что сама платформа Atomic Host не может быть скомпрометирована из контейнера. Исправления для Atomic Host будут включены в следующее запланированное обновление.
Образы для облачных платформ и виртуальных модулей Red Hat
Все официальные образы для облачных платформ и виртуальных модулей Red Hat содержат уязвимую версию libuser
. Для установки исправлений достаточно обновить пакеты, используя встроенную функциональность yum (см. секцию «Решение»). Выпуск обновленных сборок планируется осуществить в ближайшее время.
Amazon Web Services
Экземпляры машин Red Hat Enterprise Linux на базе Amazon содержат уязвимую версию libuser
. Для установки исправлений достаточно обновить пакеты, используя встроенную функциональность yum (см. секцию «Решение»).
Образы RHEV-H
Образы виртуальных модулей RHEV-H содержат уязвимую версию libuser
. Из соображений безопасности подобные образы должны использоваться только для размещения виртуальных машин и могут содержать учетные записи только доверенных пользователей.
Платформа RHEV-H не может быть скомпрометирована из виртуальной машины. Исправления для RHEV-H будут включены в следующее запланированное обновление.
Решение
Чтобы исключить риск возникновения инцидентов, установите последние обновления libuser
в соответствии с приведенными рекомендациями.
Установка обновлений с помощью yum
:
yum update
Чтобы обновить libuser
и его зависимости, выполните:
yum update libuser
Меры предосторожности
Исходя из особенностей работы libuser
, эта уязвимость может эксплуатироваться только пользователями с существующими учетными записями в /etc/passwd
. Более того, в ходе атаки пользователь должен предоставить свой пароль. Это означает, что учетные записи LDAP (и других источников данных NSS) и пользователи, не имеющие пароля доступа к системе, не смогут вызвать эскалацию полномочий.
В системах, где обновление libuser
невозможно, администраторы могут добавить два правила, pam_warn
и pam_deny, в файлы
/etc/pam.d/chfnи
/etc/pam.d/chsh`, тем самым наложив запрет на вызов уязвимых операций непривилегированными пользователями:
#%PAM-1.0
auth sufficient pam_rootok.so
auth required pam_warn.so
auth required pam_deny.so
auth include system-auth
account include system-auth
password include system-auth
session include system-auth
В результате попытки запуска chfn
и chsh
непривилегированными пользователями (и соответствующие операции в userhelper
) будут завершаться неудачей с регистрацией активности в журнале (по умолчанию /var/log/secure
).
Comments