En sårbarhet (CVE-2026-7270) har upptäckts i FreeBSD som tillåter en oprivilegierad användare att exekvera kernelkod och få root-åtkomst till systemet. Sårbarheten påverkar alla FreeBSD-utgåvor som släppts sedan 2013. En sårbarhet har varit allmänt tillgänglig och har testats på system som kör FreeBSD 11.0 till 14.4. Sårbarheten åtgärdades i FreeBSD 15.0-RELEASE-p7, 14.4-RELEASE-p3, 14.3-RELEASE-p12 och 13.5-RELEASE-p13. En patch finns tillgänglig för äldre utgåvor.
Problemet orsakas av ett buffertöverflöde i execve-systemanropet. Detta inträffar när prefixet som anges i den första raden i skript bearbetas för att bestämma sökvägen till tolken (till exempel "#!/bin/sh"). Överflödet inträffar under ett anrop till memmove-funktionen på grund av ett felaktigt konstruerat matematiskt uttryck för att beräkna storleken på argument som kopierats till bufferten. Istället för att subtrahera värdena för "args->begin_argv" och "consume" från "args->endp", subtraherades endast värdet för "args->begin_argv" från "args->endp", och variabeln "consume" lades till resultatet, snarare än subtraherades, d.v.s. som ett resultat kopierades mer data av två värden för "consume". memmove(args->begin_argv + extend, args->begin_argv + consume, -args->endp - args->begin_argv + consume); + args->endp — (args->begin_argv + consume));
Överflödet tillåter överskrivning av element i strukturen "exec_map" som allokerats i angränsande minne från en annan process. Utnyttjandet använder överflödet för att skriva över innehållet i "exec_map" för privilegierade processer som regelbundet startas på systemet. Den valda processen är sshd, som varje gång en nätverksanslutning upprättas, forkar och exekverar processen "/usr/libexec/sshd-session" med root-privilegier.
Exploiten ersätter processen med miljövariabeln "LD_PRELOAD=/tmp/evil.so", vilket gör att dess bibliotek laddas i sshd-session-kontexten. Det injicerade biblioteket skapar en körbar fil med namnet /tmp/rootsh i filsystemet med root-flaggan "suid". Lyckandegraden för exploiten uppskattas till 0.6 %, men tack vare det cykliska återförsöket uppnås en lyckad exploitation på cirka 6 sekunder på ett system med en 4-kärnig CPU.

Dessutom har flera ytterligare sårbarheter åtgärdats i FreeBSD:
- CVE-2026-35547 och CVE-2026-39457 är buffertöversvämningar i libnv-biblioteket, som används i kärnan och i bassystemapplikationer för att bearbeta nyckel-/värdelistor och hantera kommunikation mellan processer. Det första problemet orsakas av felaktig beräkning av meddelandestorleken vid bearbetning av specialskrivna IPC-meddelanderubriker. Det andra problemet resulterar i ett stacköversvämning under socketkommunikation på grund av bristande kontroller för att säkerställa att socketbeskrivningens storlek matchar buffertstorleken som används i select()-funktionen. Dessa sårbarheter kan potentiellt utnyttjas för att eskalera privilegier.
- CVE-2026-42512 är ett buffertöverflöde i dhclient som kan utnyttjas på distans på grund av felaktig beräkning av storleken på en pekarmatris som används för att skicka miljövariabler till dhclient-script. Det är möjligt att skapa ett utnyttjande för fjärrkörning av kod genom att skicka ett specialskrivet DHCP-paket.
- CVE-2026-7164 – En sårbarhet för stackoverflow i pf-paketfiltret uppstår vid bearbetning av specialskapade SCTP-paket. Problemet orsakas av obegränsad rekursiv parsning av SCTP-parametrar.
- CVE-2026-42511 – Det är möjligt att infoga godtyckliga direktiv i dhclient.conf på grund av otillräcklig escape av dubbla parenteser i BOOTP-fält som tas emot från en extern DHCP-server. När dhclient-processen sedan tolkar denna fil skickas angriparens angivna fält till dhclient-script, som kan användas för att köra godtyckliga kommandon med root-behörighet på system som kör dhclient när de ansluter till en DHCP-server som kontrolleras av angriparen.
- CVE-2026-6386 — Otillräcklig hantering av stora minnessidor i kärnfunktionen pmap_pkru_update_range(). En oprivilegierad användare kan få pmap_pkru_update_range() att behandla användarutrymmesminne som en sida i minnessidstabellen och därmed skriva över en obehörig minnesregion.
- CVE-2026-5398 – En referens till en tidigare frigjord minnesregion i TIOCNOTTY-hanteraren tillåter en oprivilegierad process att få root-behörigheter.
Källa: opennet.ru
