Ва FreeBSD выяўлена ўразлівасць (CVE-2026-7270), якая дазваляе непрывілеяванаму карыстачу выканаць код з правамі ядра і атрымаць root-доступ да сістэмы. Уразлівасць закранае ўсе выпускі FreeBSD, сфармаваныя з 2013 года. У адкрытым доступе размешчаны эксплоіт, праца якога праверана на сістэмах з FreeBSD 11/0 па 14/04. Уразлівасць ухіленая ў абнаўленнях 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
