The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Уязвимость в системном вызове execve, предоставляющая root-доступ во FreeBSD

09.05.2026 10:28 (MSK)

Во 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.


  1. Главная ссылка к новости (https://blog.calif.io/p/cve-20...)
  2. OpenNews: Удалённо эксплуатируемые уязвимости в ядре FreeBSD, Vim и Emacs
  3. OpenNews: Удалённая root-уязвимость в обработчике автоконфигурации IPv6 во FreeBSD
  4. OpenNews: Уязвимость в libnv во FreeBSD и уязвимости в Netfilter в Linux
  5. OpenNews: Уязвимости во FreeBSD, позволяющие повысить свои привилегии или обойти изоляцию гостевой системы
  6. OpenNews: Уязвимость в поставляемом во FreeBSD варианте OpenSSH, допускающая удалённое выполнение кода
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/65408-freebsd
Ключевые слова: freebsd, root
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (13) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, localhostadmin (ok), 11:04, 09/05/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    > Уязвимость устранена в обновлениях FreeBSD 15.0-RELEASE-p7, 14.4-RELEASE-p3, 14.3-RELEASE-p12 и 13.5-RELEASE-p13

    Почему так в дистрах линукса работать не могут?

     
     
  • 2.2, Аноним (2), 11:05, 09/05/2026 [^] [^^] [^^^] [ответить]  
  • +/
    В каких именно?
     
     
  • 3.3, localhostadmin (ok), 11:11, 09/05/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Да в той же убунте
     
     
  • 4.8, Аноним (8), 11:22, 09/05/2026 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 4.10, Аноним (10), 11:27, 09/05/2026 [^] [^^] [^^^] [ответить]  
  • +/
    В принципе, закономерный вопрос, Фряха -- это та же Убунта среди эксбздей. Но Убунта на самом деле используется много где и корпа умеет считать деньги.
     

  • 1.4, Аноним (4), 11:12, 09/05/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Мой любимый BSD был GhostBSD, но с какого то момента он просто стал вылетать при запуске. Последняя рабочая версия у меня 22.06.18. Пусть сначала пофиксят. Потом поговорим.
     
  • 1.5, Аноним (5), 11:15, 09/05/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > позволяющая непривилегированному пользователю выполнить код с правами ядра и получить root-доступ к системе.

    Кто в соседних темах злорадствовал?
    Получите и распишитесь.

    > Уязвимость затрагивает все выпуски FreeBSD, сформированные с 2013 года.

    Жирно!

    > Проблема вызвана переполнением буфера в системном вызове

    Академическое какчество кода (с)

     
  • 1.6, Ы (?), 11:18, 09/05/2026 Скрыто ботом-модератором [﹢﹢﹢] [ · · · ]     [к модератору]
  • +/
     
  • 1.7, Аноним (10), 11:20, 09/05/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    На консолях работает? Вообще суидные процессы это прикольно, в линуксах давно стараются избавиться от них.
     
     
  • 2.9, Ы (?), 11:25, 09/05/2026 [^] [^^] [^^^] [ответить]  
  • +/
    > Вообще суидные процессы это прикольно, в линуксах давно стараются избавиться от них.

    серьезно чтоли?

    Firejail is a lightweight security tool intended to protect a Linux system by setting up a restricted environment for running (potentially untrusted) applications.

    More specifically, it is an SUID sandbox program that reduces the risk of security breaches by using Linux namespaces, seccomp-bpf and Linux capabilities.

     
     
  • 3.11, Аноним (10), 11:31, 09/05/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Дать суид песочнице в теории можно, но это лишнее. Суид хелпер можно и не использовать наверно? Я не проверял.
     

  • 1.12, King_Carlo (ok), 11:35, 09/05/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Во freebsd никакая уязвимость опасности не представляет, ей никто не пользуется.
     
  • 1.13, Аноним (13), 11:39, 09/05/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    >переменная consume прибавлялась к результату, а не вычиталась,

    Им надо язык учить, а не ядро писать. Что, скобки для слабаков?

     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2026 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру