FreeBSD дээр root хандалт олгох execve системийн дуудлага дахь эмзэг байдал

FreeBSD дээр эрхгүй хэрэглэгч цөмийн кодыг ажиллуулж, системд root хандалт авах боломжийг олгодог эмзэг байдал (CVE-2026-7270) илэрсэн. Эмзэг байдал нь 2013 оноос хойш гарсан бүх FreeBSD хувилбаруудад нөлөөлдөг. Энэхүү эвдрэлийг олон нийтэд нээлттэй болгосон бөгөөд 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->begin_argv" утгыг "args->endp"-ээс хасаж, үр дүнд "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 бөгөөд сүлжээний холболт тогтоох бүрт "/usr/libexec/sshd-session" процессыг root давуу эрхүүдээр салгаж, ажиллуулдаг.

Эксплойт нь энэ процессын хувьд "LD_PRELOAD=/tmp/evil.so" орчны хувьсагчийг орлож, түүний санг sshd-session контекстэд ачаалахад хүргэдэг. Тарилгын сан нь suid root тугтай файлын системд /tmp/rootsh нэртэй гүйцэтгэгдэх файл үүсгэдэг. Эксплойтын амжилтын түвшин 0.6% гэж тооцоолсон боловч циклийн дахин оролдлогын ачаар 4 цөмт CPU-тэй систем дээр ойролцоогоор 6 секундын дотор амжилттай ашиглалт явагддаг.

 FreeBSD дээр root хандалт олгох execve системийн дуудлага дахь эмзэг байдал

Үүнээс гадна, FreeBSD дээр хэд хэдэн эмзэг байдлыг зассан:

  • CVE-2026-35547 болон CVE-2026-39457 нь libnv номын сан дахь буферийн халилт бөгөөд үүнийг цөм болон үндсэн системийн програмуудад түлхүүр/утгын жагсаалтыг боловсруулах, процесс хоорондын харилцаа холбоог зохицуулахад ашигладаг. Эхний асуудал нь тусгайлан боловсруулсан IPC мессежийн толгой хэсгийг боловсруулах үед мессежийн хэмжээг буруу тооцоолсноос үүдэлтэй. Хоёр дахь асуудал нь сокет холболтын үед стек халилт үүсгэдэг бөгөөд энэ нь сокет тодорхойлогчийн хэмжээ нь select() функцэд ашигласан буферийн хэмжээтэй тохирч байгаа эсэхийг шалгах шалгалт хийгдээгүйтэй холбоотой юм. Эдгээр эмзэг байдлыг эрхүүдийг нэмэгдүүлэхэд ашиглаж болно.
  • CVE-2026-42512 нь dhclient-script руу орчны хувьсагчдыг дамжуулахад ашигладаг заагч массивын хэмжээг буруу тооцоолсноос болж dhclient дахь алсаас ашиглах боломжтой буферийн халилт юм. Тусгайлан бүтээсэн DHCP пакет илгээснээр алсаас код гүйцэтгэхэд зориулж эксплойт үүсгэх боломжтой.
  • CVE-2026-7164 – Тусгайлан бүтээсэн SCTP пакетуудыг боловсруулах үед pf пакет шүүлтүүрт стекийн халих эмзэг байдал үүсдэг. Энэ асуудал нь SCTP параметрүүдийн хязгааргүй рекурсив задлан шинжилгээнээс үүдэлтэй юм.
  • CVE-2026-42511 – Гадаад DHCP серверээс хүлээн авсан BOOTP талбарууд дахь давхар хаалтууд хангалтгүй гарснаас болж dhclient.conf файлд дурын удирдамж оруулах боломжтой. dhclient процесс дараа нь энэ файлыг задлан шинжлэх үед халдагчийн заасан талбар нь dhclient-script руу дамжуулагддаг бөгөөд үүнийг халдагчийн хянадаг DHCP серверт хандах үед dhclient ажиллуулж буй системүүд дээр root эрх бүхий дурын командуудыг гүйцэтгэхэд ашиглаж болно.
  • CVE-2026-6386 — pmap_pkru_update_range() цөмийн функцэд том санах ойн хуудсуудыг хангалтгүй боловсруулж байна. Эрхгүй хэрэглэгч нь pmap_pkru_update_range()-г хэрэглэгчийн зайн санах ойг санах ойн хуудасны хүснэгтэд хуудас болгон ашиглахад хүргэж, улмаар зөвшөөрөлгүй санах ойн хэсгийг дарж бичиж болно.
  • CVE-2026-5398 - TIOCNOTTY боловсруулагч дахь өмнө нь чөлөөлөгдсөн санах ойн бүсийн лавлагаа нь эрхгүй процесст root эрх олж авах боломжийг олгодог.

Эх сурвалж: opennet.ru