Удалённая root-уязвимость в обработчике автоконфигурации IPv6 во FreeBSD

В применяемых во FreeBSD фоновом процессе rtsold и утилите rtsol выявлена уязвимость (CVE-2025-14558), позволяющая добиться удалённого выполнения кода с правами root через отправку специально оформленного пакета c анонсом IPv6-маршрутизатора. RA-сообщения (Router Advertisement), через которые эксплуатируется уязвимость, не маршрутизируются и должны отбрасываться маршрутизаторами. Для совершения атаки злоумышленник должен иметь возможность отправки специально оформленного пакета с системы, находящейся в одном сетевом сегменте с уязвимым хостом.

Фоновый процесс rtsold применяется на хостах для автонастройки подключения через IPv6 с использованием механизма SLAAC (StateLess Address AutoConfiguration). Хост отправляет ICMPv6-сообщение RS (Router Solicitation) в multicast-режиме и ожидает поступления ответных RA-сообщений (Router Advertisement) от маршрутизаторов, содержащих сведения о сетевых префиксах и параметрах конфигурации. Утилита rtsol реализует аналогичную функциональность без запуска фонового процесса.

Уязвимость вызвана тем, что rtsold передаёт указанный в RA-сообщении список «domain search» в утилиту resolvconf без проверки корректности и без экранирования спецсимволов. Утилита resolvconf представляет собой shell-скрипт, не проверяющий входные данные. Для эксплуатации уязвимости достаточно отправить RA-пакет с именем домена, содержащим спецсимволы, например «test`id`test». Уязвимость устранена в обновления FreeBSD 15.0-RELEASE-p1, 14.3-RELEASE-p7, 13.5-RELEASE-p8.

Кроме того, в обновлениях FreeBSD 14.3-RELEASE-p7 и 13.5-RELEASE-p8 (ветку 15.x проблема не затрагивает) устранена уязвимость (CVE-2025-14769) в пакетном фильтре ipfw, позволяющая вызвать отказ в обслуживании через отправку специально оформленных пакетов. Уязвимость проявляется только при использовании директивы «tcp-setmss» в правилах ipfw. Проблема вызвана тем, что обработчик tcp-setmss при определённых обстоятельствах может освободить память, в котором хранятся полученные данные пакета, и вернуть ошибку. Указанная ошибка игнорировалась движком обработки правил, из-за чего следом идущее правило могло разрешить прохождение пакета, буфер с данными которого уже освобождён, что приводит к разыменованию нулевого указателя.

Источник: opennet.ru

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