Удалённая уязвимость в systemd-networkd

Во входящем в состав systemd фоновом процессе systemd-networkd, реализующем компоненты для настройки параметров сети, найдена опасная уязвимость (CVE-2018-15688), которая потенциально может привести к выполнению кода при получении клиентом специально оформленного ответа от подконтрольного злоумышленнику DHCP-сервера. По умолчанию в systemd-networkd клиент DHCPv6 активируется автоматически при получении анонса от маршрутизатора IPv6 (RA, Router Advertisement).

Проблема вызвана ошибкой в коде встроенного клиента DHCPv6, в котором неверно проверялся размер временного буфера, используемого для формирования пакета, отправляемого на сервер DHCPv6. При обработке DHCP-опции server-id, размером больше 493 байт, в функции dhcp6_option_append_ia() возникает целочисленное переполнение, которое можно использовать для контролируемой перезаписи данных за границей буфера.

Debian и RHEL/CentOS 7 в конфигурации по умолчанию проблеме не подвержены, так как эти дистрибутивы предлагают systemd-networkd в качестве опции (например, в RHEL 7 systemd-networkd поставляется в репозитории rhel-7-server-optional-rpms). При этом в RHEL/CentOS 7 для осуществления атаки DHCPv6 должен быть явно включен на сетевом интерфейсе. В Ubuntu, Arch и Fedora Linux проблема пока остаётся не исправленной. Подверженность уязвивости openSUSE/SUSE пока уточняется.

Кроме того, сообщается о выявлении двух локальных уязвимостей в systemd:

  • CVE-2018-15687 - состояние гонки (race condition) при разыменовании символических ссылок в функции chown_one() можно использовать для смены прав доступа на любой файл в системе через манипуляцию символическими ссылками;
  • CVE-2018-15686 - некорректное использование функции fgets() в функции unit_deserialize() при выполнении вызова daemon-reexec позволяет поднять свои привилегии через запуск специально оформленного сервиса;


10/27/2018 11:07:19
0

комментарии (0)