Уязвимост в системния повик execve, предоставяща root-достъп във FreeBSD.

В 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». memeove(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.

Уязвимост в системния повик execve, предоставяща root-достъп във FreeBSD.

Освен това, у 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

Купете надежден хостинг за сайтове с защита от DDoS, VPS VDS сървъри 🔥 Купете надежден хостинг за сайтове с защита от DDoS, VPS VDS сървъри | ProHoster