In FreeBSD is een kwetsbaarheid vastgesteld (CVE-2026-7270), waardoor een niet-privilege gebruiker code met kernelrechten kan uitvoeren en root-toegang tot het systeem kan verkrijgen. De kwetsbaarheid betreft alle uitgaves van FreeBSD die sinds 2013 zijn gemaakt. Een exploit is openbaar beschikbaar, waarvan de werking is getest op systemen met FreeBSD 11.0 tot 14.4. De kwetsbaarheid is verholpen in de updates FreeBSD 15.0-RELEASE-p7, 14.4-RELEASE-p3, 14.3-RELEASE-p12 en 13.5-RELEASE-p13. Voor oudere versies kan een patch worden gebruikt.
Het probleem wordt veroorzaakt door een bufferoverloop in de systeemaanroep execve, die optreedt bij de verwerking van de prefix die in de eerste regel van scripts wordt aangegeven om het pad naar de interpreter te bepalen (bijvoorbeeld, "#!\/bin\/sh"). De bufferoverloop doet zich voor bij het aanroepen van de functie memmove als gevolg van een verkeerde opstelling van de wiskundige uitdrukking voor het berekenen van de grootte van de argumenten die naar de buffer worden gekopieerd. In plaats van het subtraheren van "args->endp" met "args->begin_argv" en "consume", werd alleen waarde "args->begin_argv" van "args->endp" afgetrokken, en de variabele consume werd bij het resultaat opgeteld in plaats van afgetrokken, wat betekent dat er meer gegevens dan twee waarden "consume" werden gekopieerd. memmove(args->begin_argv + extend, args->begin_argv + consume, — args->endp — args->begin_argv + consume); + args->endp — (args->begin_argv + consume));
De bufferoverloop maakt het mogelijk om elementen van de structuur "exec_map" van een ander proces die in aangrenzende geheugengebieden zijn opgeslagen te overschrijven. In de exploit wordt de bufferoverloop gebruikt om de inhoud van "exec_map" van regelmatig uitgevoerd privileges proces te overschrijven. Als dergelijk proces is sshd gekozen, die bij elke netwerkverbinding een proces "\/usr\/libexec\/sshd-session" met root-rechten fork en execve aanmaakt.
De exploit stelt voor dit proces de omgevingsvariabele "LD_PRELOAD=\/tmp\/evil.so" in, wat leidt tot het laden van zijn bibliotheek in de context van sshd-session. De ingevoerde bibliotheek creëert in het bestandssysteem een uitvoerbaar bestand \/tmp\/rootsh met het suid root-vlag. De kans op een succesvolle bufferoverloop is geschat op 0,6%, maar dankzij de cyclische herhaling van pogingen wordt succesvolle exploitatie bereikt in ongeveer 6 seconden op een systeem met een 4-core CPU.

Daarnaast zijn in FreeBSD nog verschillende andere kwetsbaarheden verholpen:
- CVE-2026-35547, CVE-2026-39457 — buffer overflows in the libnv library, used in the kernel and in base system applications for processing key/value formatted lists and for organizing data transfer during inter-process communication. The first issue is caused by incorrect message size calculation when processing specially formatted IPC message headers. The second problem leads to a stack overflow when exchanging data over a socket due to the absence of validation of the socket descriptor size against the buffer size used in the select() function. These vulnerabilities can potentially be exploited to escalate privileges within the system.
- CVE-2026-42512 — remotely exploitable buffer overflow in dhclient, which occurs due to incorrect calculation of the size of the array of pointers used to pass environment variables to dhclient-script. There is a possibility of creating an exploit for remote code execution by sending a specially crafted DHCP packet.
- CVE-2026-7164 — stack overflow in the pf packet filter, occurring when processing specially crafted SCTP packets. This issue is caused by unrestricted recursive parsing of SCTP parameters.
- CVE-2026-42511 — the possibility of injecting arbitrary directives into dhclient.conf due to insufficient escaping of double brackets in BOOTP fields received from an external DHCP server. When this file is subsequently parsed by the dhclient process, the specified field is passed to dhclient-script, which can be used to execute arbitrary commands with root privileges on systems using dhclient when connecting to a controlled attacker DHCP server.
- CVE-2026-6386 — insufficient handling of large memory pages in the pmap_pkru_update_range() kernel function. An unprivileged user can force pmap_pkru_update_range() to treat memory from user space as a page in the memory page table and achieve overwriting of a memory area that is not accessible.
- CVE-2026-5398 — access to an already freed memory area in the TIOCNOTTY handler, allowing an unprivileged process to obtain root privileges.
Bron: opennet.ru
