В 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
