CVE-2021-3156

В sudo обнаружена ошибка. При анализе аргументов командной строки sudo было обнаружено переполнение буфера на основе кучи. Этой уязвимостью может воспользоваться любой локальный пользователь (обычные пользователи и пользователи системы, sudoers и не-sudoers) без аутентификации (т.е. злоумышленнику не нужно знать пароль пользователя). Успешное использование этой уязвимости может привести к эскалации привилегий. Самая большая угроза от этой уязвимости — для конфиденциальности и целостности данных, а также для доступности системы.

Что делать?

Red Hat Product Security настоятельно рекомендует клиентам обновлять до исправленных пакетов sudo, как только они станут доступны. Для клиентов, которые не могут обновить немедленно, предлагается следующее временное частичное смягчение последствий с помощью systemtap:

1. Установите необходимые пакеты systemtap и зависимости:

systemtap yum-utils kernel-devel - "$ (uname -r)"

Затем для RHEL 7 установите ядро ​​debuginfo, используя:

debuginfo-install -y kernel - "$ (uname -r)"

Затем для RHEL 8 установите sudo debuginfo, используя:

debuginfo-install sudo

2. Создайте следующий сценарий systemtap: (назовите файл sudoedit-block.stap)

probe process("/usr/bin/sudo").function("main") {
        command = cmdline_args(0,0,"");
        if (strpos(command, "edit") >= 0) {
                raise(9);
        }
}

3. Установите сценарий, используя следующую команду: (под root)

# nohup stap -g sudoedit-block.stap &

Этот сценарий приведет к тому, что уязвимый двоичный файл sudoedit перестанет работать. Команда sudo по-прежнему будет работать в обычном режиме.
Вышеупомянутое изменение не сохраняется при перезагрузке и должно применяться после каждой перезагрузки.

4. После установки новых исправленных пакетов сценарий systemtap можно удалить, прервав процесс systemtap. Например, используя:

# kill -s SIGTERM 7590 (где 7590 - это PID процесса systemtap)

Нужна помощь в обновлении операционных систем, обращайтесь [email protected]