Аудит безопасности набора procps-ng выявил опасные уязвимости

Компания Qualys опубликовала результаты аудита набора procps-ng, включающего библиотеку libprocps и утилиты для работы с псевдофайловой системой /proc (например, в состав входят такие утилиты как free, kill, pgrep, pmap, ps, sysctl, top, uptime, vmstat, w и watch). В ходе исследования выявлено 7 уязвимостей, из которых две могут привести к повышению своих привилегий в системе, а одна позволяет скрывать непривилегированные процессы. Проблемы пока остаются неисправленными в дистрибутивах (Debian, Ubuntu, RHEL, Fedora, SUSE).

  • CVE-2018-1124 — локальное повышение привилегий из-за целочисленного переполнения в функции file2strvec(), поставляемой в библиотеке libprocps и занимающейся разбором содержимого /proc/PID/cmdline. Атакующий может эксплуатировать уязвимость во время запуска администратором или другим пользователем утилит pgrep, pidof и pkill (другие утилиты могут быть эксплуатированы в зависимости от используемых опций). В том числе атакующий может эксплуатировать узявимость находясь в изолированном контейнере или в chroot. Атака производится через создание специально оформленного содержимого буфера с аргументами командной строки процесса, обработка которого в file2strvec может привести к переполнению буфера и выполнению кода (сообщается, что имеется рабочий прототип эксплоита, который пока не опубликован);
  • CVE-2018-1120 — атакующий может блокировать работу утилит ps, pgrep, pidof, pkill и w, например для скрытия своих манипуляций от анализа. Атака производится через запуск процесса, в котором для структуры со списокм аргументов командной строки выполняется mmap на файл в примонтированной файловой системе FUSE (в итоге блокируются операции чтения /proc/PID/cmdline);
  • CVE-2018-1121 — непривилегированный атакующий может скрыть процесс от утилит procps через инициирование отказа в обслуживании (например, целочисленного переполнения в функции file2strvec) или состояния гонки во время выполнения proc_pid_readdir(), осуществляющего упорядоченное чтение содержимого /proc/PID;
  • CVE-2018-1122 — повышение привилегий в системе при запуске утилиты top в подконтрольном атакующему каталоге (например, в /tmp) через подмену файла конфигурации (top пытается прочитать файл конфигурации из текущего каталога) на специально оформленный файл, эксплуатирующий
    уязвимости в функции config_file();

  • CVE-2018-1123 — атакующий может блокировать работу утилиты ps для всех пользователей, переполнив буфер вывода;
  • CVE-2018-1125 — потенциальное переполнение стека в утилите pgrep;
  • CVE-2018-1126 — использование size_t вместо типа unsigned int в функции разбора /proc.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.