Во FreeBSD выявлена уязвимость (CVE-2026-7270), позволяющая непривилегированному пользователю выполнить код с правами ядра и получить root-доступ к системе. Уязвимость затрагивает все выпуски FreeBSD, сформированные с 2013 года. В открытом доступе размещён эксплоит, работа которого проверена на системах с FreeBSD 11.0 по 14.4. Уязвимость устранена в обновлениях FreeBSD 15.0-RELEASE-p7, 14.4-RELEASE-p3, 14.3-RELEASE-p12 и 13.5-RELEASE-p13. Для более старых веток можно использовать патч.
Проблема вызвана переполнением буфера в системном вызове execve, возникающем при обработке префикса, указываемого в первой строке скриптов для определения пути к интерпретатору (например, «#!/bin/sh»). Переполнение возникает при вызове функции memmove из-за неверного составления математического выражения для вычисления размера копируемых в буфер аргументов. Вместо вычитания из «args->endp» значений «args->begin_argv» и «consume», из «args->endp» вычиталось только значение «args->begin_argv», а переменная consume прибавлялась к результату, а не вычиталась, т.е. в результате копировалось больше данных на два значения «consume». memmove(args->begin_argv + extend, args->begin_argv + consume, — args->endp — args->begin_argv + consume); + args->endp — (args->begin_argv + consume));
Переполнение позволяет перезаписать размещаемые в соседней области памяти элементы структуры «exec_map» от другого процесса. В эксплоите переполнение задействовано для перезаписи содержимого «exec_map» периодически запускаемых в системе привилегированных процессов. В качестве подобного процесса выбран sshd, который при каждой установке сетевого соединения ответвляет через вызов fork и execve процесс «/usr/libexec/sshd-session» с правами root.
Эксплоит подставляет для данного процесса переменную окружения «LD_PRELOAD=/tmp/evil.so», приводящую к загрузке в контексте sshd-session своей библиотеки. Подставляемая библиотека создаёт в файловой системе исполняемый файл /tmp/rootsh с флагом suid root. Вероятность успешного переполнения оценивается в 0.6%, но благодаря цикличному повтору попыток, успешная эксплуатация достигается примерно за 6 секунд на системе с 4-ядерным CPU.

Кроме того, во FreeBSD устранено ещё несколько уязвимостей:
- CVE-2026-35547, CVE-2026-39457 — переполнения буфера в библиотеке libnv, используемой в ядре и в приложениях из базовой системы для обработки списков в формате ключ/значение и для организации передачи данных при межпроцессном взаимодействии. Первая проблема вызвана неверным вычислением размера сообщения при обработке специально оформленных заголовков IPC-сообщений. Вторая проблема приводит к переполнению стека при обмене данных через сокет из-за отсутствия проверки соответствия размера дескриптора сокета размеру буфера, используемому в функции select(). Потенциально уязвимости могут использоваться для повышения своих привилегий в системе.
- CVE-2026-42512 — удалённо эксплуатируемое переполнение буфера в dhclient, возникающее из-за некорректного вычисления размера массива указателей, используемого для передачи переменных окружения в dhclient-script. Не исключается возможность создания эксплоита для удалённого выполнения кода через отправку специально оформленного DHCP-пакета.
- CVE-2026-7164 — переполнение стека в пакетном фильтре pf, возникающее при обработке специально оформленных пакетов SCTP. Проблема вызвана неограниченным рекурсивным разбором параметров SCTP.
- CVE-2026-42511 — возможность подстановки в dhclient.conf произвольных директив из-за отсутствия должного экранирования двойных скобок в BOOTP полях, получаемых от внешнего DHCP-сервера. При последующем разборе данного файла процессом dhclient, указанное атакующим поле передаётся в dhclient-script, что может использоваться для выполнения произвольных команд с правами root на системах, использующих dhclient, при обращении к подконтрольному атакующему DHCP-серверу.
- CVE-2026-6386 — отсутствие должной обработки больших страниц памяти в функции ядра pmap_pkru_update_range(). Непривилегированный пользователь, может заставить pmap_pkru_update_range() обработать память из пространства пользователя как страницу в таблице страниц памяти, и добиться перезаписи области памяти, к которой нет доступа.
- CVE-2026-5398 — обращение к уже освобождённой области памяти в обработчике TIOCNOTTY, позволяющее непривилегированному процессу получить права root.
ምንጭ: opennet.ru
