Sicherheitsanfälligkeit im Systemaufruf execve, die Root-Zugriff unter FreeBSD gewährt.

In FreeBSD wurde eine Schwachstelle (CVE-2026-7270) identifiziert, die es einem unprivilegierten Benutzer ermöglicht, Code mit Kernel-Rechten auszuführen und Root-Zugriff auf das System zu erhalten. Die Schwachstelle betrifft alle FreeBSD-Versionen, die seit 2013 veröffentlicht wurden. Ein öffentlich zugänglicher Exploit, der auf Systemen von FreeBSD 11.0 bis 14.4 getestet wurde, ist verfügbar. Die Schwachstelle wurde in den Updates FreeBSD 15.0-RELEASE-p7, 14.4-RELEASE-p3, 14.3-RELEASE-p12 und 13.5-RELEASE-p13 behoben. Für ältere Zweige kann ein Patch verwendet werden.

Das Problem wird durch einen Pufferüberlauf im Systemaufruf execve verursacht, der beim Verarbeiten des in der ersten Zeile von Skripten angegebenen Präfixes für den Interpreter-Pfad auftritt (zum Beispiel „#!/bin/sh“). Der Überlauf tritt auf, wenn die Funktion memmove aufgrund einer fehlerhaften Berechnung des mathematischen Ausdrucks zur Bestimmung der Größe der im Puffer zu kopierenden Argumente aufgerufen wird. Anstelle der Subtraktion von ‚args->endp‘ von ‚args->begin_argv‘ abzüglich ‚consume‘, wurde nur ‚args->begin_argv‘ von ‚args->endp‘ subtrahiert, und die Variable consume wurde zum Ergebnis addiert, anstatt subtrahiert zu werden, was dazu führte, dass insgesamt zwei Werte von ‚consume‘ mehr Daten kopiert wurden. memmove(args->begin_argv + extend, args->begin_argv + consume, — args->endp — args->begin_argv + consume); + args->endp — (args->begin_argv + consume));

Ein Überlauf ermöglicht das Überschreiben von Elementen der Struktur „exec_map“, die im benachbarten Speicherbereich von einem anderen Prozess gespeichert sind. Im Exploit wird der Überlauf genutzt, um den Inhalt von „exec_map“ regelmäßig ausgeführter privilegierter Prozesse im System zu überschreiben. Als solcher Prozess wird sshd ausgewählt, der bei jeder Einrichtung einer Netzwerkverbindung durch den Aufruf von fork und execve den Prozess „/usr/libexec/sshd-session“ mit Root-Rechten abzweigt.

Der Exploit setzt für diesen Prozess die Umgebungsvariable „LD_PRELOAD=/tmp/evil.so“ ein, was zur Lade ihrer Bibliothek im Kontext von sshd-session führt. Die eingesetzte Bibliothek erstellt in dem Dateisystem die ausführbare Datei /tmp/rootsh mit dem SUID-Flag für root. Die Wahrscheinlichkeit eines erfolgreichen Überlaufs wird auf 0,6 % geschätzt, aber durch die zyklische Wiederholung der Versuche wird eine erfolgreiche Ausnutzung in etwa 6 Sekunden auf einem System mit einem Quad-Core-CPU erreicht.

Sicherheitsanfälligkeit im Systemaufruf execve, die Root-Zugriff unter FreeBSD gewährt.

Darüber hinaus wurden in FreeBSD mehrere weitere Sicherheitsanfälligkeiten behoben:

  • CVE-2026-35547, CVE-2026-39457 – Pufferüberläufe in der Bibliothek libnv, die im Kernel und in Anwendungen des Basissystems für die Verarbeitung von Schlüssel/Wert-Listen und die Organisation der Datenübertragung bei der interprozessualen Kommunikation verwendet wird. Das erste Problem entsteht durch eine fehlerhafte Berechnung der Nachrichtenlänge bei der Verarbeitung von speziell gestalteten IPC-Nachrichtenköpfen. Das zweite Problem führt zu einem Stacküberlauf beim Datenaustausch über einen Socket, da die Größe des Socket-Deskriptoren nicht mit der Größe des Puffers, der in der Funktion select() verwendet wird, übereinstimmt. Diese Schwachstellen könnten potenziell ausgenutzt werden, um die Privilegien im System zu erhöhen.
  • CVE-2026-42512 – Ein aus der Ferne exploitable Pufferüberlauf in dhclient, der durch eine fehlerhafte Berechnung der Größe des Arrays von Zeigern entsteht, das zur Übertragung von Umgebungsvariablen im dhclient-script verwendet wird. Es besteht die Möglichkeit, einen Exploit für die remote Codeausführung durch das Senden eines speziell gestalteten DHCP-Paketes zu erstellen.
  • CVE-2026-7164 – Stacküberlauf im Paketfilter pf, der bei der Verarbeitung speziell formatierter SCTP-Pakete auftritt. Das Problem wird durch die unbeschränkte rekursive Analyse der SCTP-Parameter verursacht.
  • CVE-2026-42511 – Möglichkeit der Injektion beliebiger Direktiven in dhclient.conf aufgrund fehlender ordnungsgemäßer Escape-Behandlung doppelter Klammern in den von externen DHCP-Servern erhaltenen BOOTP-Feldern. Bei der anschließenden Analyse dieser Datei durch den dhclient-Prozess wird das angegebene Feld vom Angreifer in das dhclient-script übergeben, was verwendet werden kann, um beliebige Befehle mit Root-Rechten auf Systemen, die dhclient verwenden, auszuführen, wenn auf einen vom Angreifer kontrollierten DHCP-Server zugegriffen wird.
  • CVE-2026-6386 – Fehlende ordnungsgemäße Behandlung großer Speicherseiten in der Kernel-Funktion pmap_pkru_update_range(). Ein nicht privilegierter Benutzer kann pmap_pkru_update_range() dazu bringen, Speicher aus dem Adressraum des Benutzers als Seite in der Speichertabelle zu behandeln und somit auf einen Speicherbereich zuzugreifen, der nicht zugänglich ist.
  • CVE-2026-5398 – Zugriff auf einen bereits freigegebenen Speicherbereich im Handler TIOCNOTTY, der es einem nicht privilegierten Prozess ermöglicht, Root-Rechte zu erlangen.

Quelle: opennet.ru

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