В антивирусе McAfee для Linux выявлена удалённая root-уязвимость

В антивирусе McAfee для Linux выявлена удалённая root-уязвимость

В антивирусе McAfee для Linux выявлена удалённая root-уязвимость

В проприетарном антивирусном пакете McAfee VirusScan Enterprise для платформы Linux выявлено 10 уязвмостей, сочетание которых даёт возможность организовать удалённую атаку, которая позволяет неаутентифицированному стороннему злоумышленнику выполнить свой код на сервере с правами пользователя root.

Производителю было сообщено о проблеме ещё в июне, но обновление с устранением уязвимости было выпущено только вчера. Так как исправление уже доступно, обнаружившие уязвимости исследователи безопасности опубликовали рабочий прототип эксплоита, пишет opennet.ru.

По отдельности каждая из 10 уязвимостей не является критичной, но их сочетание позволяет выстроить цепочку для совершения атаки по получению полного контроля за системой. Исследователи также обратили внимание на непростительное для профессионального ПО для обеспечения безопасности отношение к собственной защите - процесс выполняется с правами root без сброса привилегий. Второй процесс, обеспечивающий работу web-интерфейса запускается под отдельным пользователем, но все запросы всё равно передаются для обработки процессу, работающему под root.

Найденные уязвимости:

  1. CVE-2016-8016: Удалённая возможность проверки наличия файла, не требующая аутентификации;
  2. CVE-2016-8017: Удалённая возможность чтения определённого класса файлов без аутентификации;
  3. CVE-2016-8018: Отсутствие токенов для защиты от CSRF-атак;
  4. CVE-2016-8019: Возможность осуществления межсайтового скриптинга;
  5. CVE-2016-8020: Удалённое выполнение кода и повышение привилегий при наличии аутентифицированного доступа к web-интерфейсу;
  6. CVE-2016-8021: Возможность записи файлов в известные пути через манипуляции с web-интерфейсом;
  7. CVE-2016-8022: Повторное использование токенов аутентификации;
  8. CVE-2016-8023: Возможность подбора токенов аутентификации;
  9. CVE-2016-8024: Разбиение HTTP-запросов;
  10. CVE-2016-8025: Подстановка SQL-кода при наличии аутентифицированного входа.

Метод работы эксплоита сводится к следующим шагам:

  • Подбор токенов аутентификации при помощи уязвимостей 7 и 8;
  • Создание подставного сервера доставки обновлений;
  • Использование седьмой уязвимости для отправки запроса с использованием подобранного токена аутентификации для совершения операции обновления сервера;
  • Сохранение в системе вредоносного скрипта при помощи уязвимости 6;
  • Отправка специально оформленного запроса с использованием подобранного токена аутентификации. Через эксплуатацию 5 и 6 уязвимостей инициируется запуск процесса сканирования на наличие вирусов, который приведёт к выполнению подготовленного ранее скрипта с правами root.

В Linux нашли 19-летнюю дыру: атакующий может добраться до root

В Linux обнаружили новую уязвимость повышения привилегий, получившую имя CIFSwitch. При удачном раскладе обычный локальный пользователь может обмануть механизм CIFS-аутентификации, подсовывать ядру фальшивые запросы и в итоге получить root. Проблема затрагивает системы с уязвимыми связками kernel CIFS и cifs-utils, в первую очередь версии 6.14 и выше.

CIFS нужен Linux для работы с сетевыми шарами: монтировать удалённые папки, читать и писать файлы по сети. Если такая шара использует Kerberos-аутентификацию, ядро Linux обращается к пользовательскому приложению, а cifs-utils выступает посредником.

По словам исследователя Асима Вилади Оглу Манизады, который нашёл и назвал CIFSwitch, ядро запрашивает ключ типа cifs.spnego, после чего стандартная связка keyutils/request-key запускает cifs.upcall от root, чтобы получить или собрать материалы Kerberos/SPNEGO.

Беда в том, что CIFS-подсистема ядра не проверяла, что такие cifs.spnego-запросы действительно пришли от CIFS-клиента ядра. В результате непривилегированный пользователь мог сгенерировать поддельный запрос и запустить штатный процесс аутентификации.

А дальше привилегированный cifs.upcall доверяет полям, которые считает созданными ядром, хотя на деле ими управляет атакующий. Через эти поля можно форсировать переключение namespace, спровоцировать NSS-запрос до сброса привилегий, подгрузить вредоносный NSS-модуль и получить выполнение кода от root.

Манизада отмечает, что баг появился ещё в 2007 году, то есть прожил в экосистеме около 19 лет. При этом эксплуатация не универсальна: нужны подходящая версия ядра, уязвимый cifs-utils, доступные пространства имен пользователей и политики SELinux/AppArmor, которые не ломают атаку на взлёте.

Среди уязвимых систем, в дефолтных конфигурациях эксперт называет:

  • Linux Mint 21.3 / 22.3;
  • CentOS Stream 9;
  • Rocky Linux 9;
  • AlmaLinux 9;
  • Kali Linux 2021.4–2026.1;
  • SLES 15 SP7.

Уязвимость уже закрыта патчем для ядра, он добавляет проверку происхождения запросов cifs.spnego. Однако конкретные версии ядра с патчем зависят от дистрибутива, так что администраторам лучше не гадать, а проверять бюллетени своих вендоров.

RSS: Новости на портале Anti-Malware.ru