In dem Anfang September veröffentlichten Patch zur Sicherheitsanfälligkeit in der Bibliothek libnv wurde ein logischer Fehler festgestellt, der dazu führte, dass die Schwachstelle nicht ordnungsgemäß behoben wurde und das System weiterhin angreifbar blieb. Die Bibliothek libnv wird vom FreeBSD-Projekt entwickelt und wird im Kern und in den Anwendungen des Basissystems verwendet, um Schlüssel-Wert-Listen zu verarbeiten und den Datenaustausch bei der interprozessualen Kommunikation zu organisieren. Die Bibliothek basiert auf dem nvlist-Algorithmus, der im Projekt OpenZFS eingesetzt wird, jedoch hat FreeBSD eine eigene Implementierung geschaffen, sodass die Schwachstelle OpenZFS nicht betrifft.
Die Schwachstelle wird durch einen Ganzzahlüberlauf verursacht, der zu einer Pufferzuweisung führt, die kleiner ist als der in den Puffer zu schreibende Datenblock. Dieser Fehler könnte potenziell zur Erhöhung der eigenen Berechtigungen genutzt werden, indem Speicherbereiche im Kernel und in Systemprozessen überschrieben werden, zum Beispiel wird libnv in libcasper bei der Interaktion zwischen privilegiertem und unprivilegiertem Code verwendet. Ein korrektes Fix zur Schwachstelle (CVE-2024-45287) wird in den Updates 14.1-RELEASE-p5, 14.0-RELEASE-p11, 13.4-RELEASE-p1 und 13.3-RELEASE-p7 sowie in Form eines Patches angeboten.
In FreeBSD wurde außerdem eine Sicherheitsanfälligkeit (CVE-2024-41721) im Hypervisor bhyve behoben, die potenziell eine Codeausführung im Kontext eines auf dem Host-System laufenden Prozesses ermöglichen könnte (gewöhnlich mit Root-Rechten, aber im Capsicum-basierten Sandbox isoliert), während innerhalb des Gastsystems manuelle Manipulationen durchgeführt werden. Die Schwachstelle ist im Code zur Emulation des USB-Controllers XHCI vorhanden und wird durch unzureichende Überprüfung der Puffergrenzen verursacht, was zu einem Datenlesen aus dem Bereich außerhalb des Puffers und möglicherweise auch zu einem Schreiben in beliebige Speicherbereiche des Prozesses führen kann. Ein Angriff könnte stattfinden, wenn privilegierte Prozesse im Gastsystem gestartet werden können. Die Schwachstelle wurde in den Updates FreeBSD 14.1-RELEASE-p5, 14.0-RELEASE-p11, 13.4-RELEASE-p1 und 13.3-RELEASE-p7 behoben.
Außerdem kann die Veröffentlichung von Arbeitsprototypen für Exploits und Beschreibungen der Methoden zur Ausnutzung zuvor entdeckter Schwachstellen im Linux-Kernel CVE-2024-26808 und CVE-2024-1085 hervorgehoben werden. Die Probleme wurden in den Kernel-Updates 5.10.210, 5.15.149, 6.1.76, 6.6.15, 6.7.3 und 6.8 behoben und sind bereits in den Haupt-Distributionen (Debian, Ubuntu, RHEL, SUSE, Fedora) korrigiert. Die Schwachstellen entstehen durch den Zugriff auf bereits freigegebenen Speicher in den Funktionen nft_chain_filter und nft_setelem_catchall_deactivate der netfilter-Subsystem und ermöglichen die Ausführung von Code mit Root-Rechten. Für einen Angriff ist der Zugang zu nftables erforderlich, der mit den Rechten CAP_NET_ADMIN in einem beliebigen User Namespace oder Network Namespace, wie sie beispielsweise in isolierten Containern bereitgestellt werden, erlangt werden kann.
Die Exploits wurden von Teilnehmern der KernelCTF-Initiative (Kernel Capture the Flag) erstellt, bei der Google Belohnungen für die Entdeckung von Schwachstellen im Linux-Kernel auslobt. Ursprünglich wurden diese Probleme als eine von vielen möglichen Schwachstellen im Kernel betrachtet – so wurden im Juni-Update des 5.10-Kernel-Pakets in Debian neben CVE-2024-26808 noch 345 (!) potenzielle Schwachstellen behoben. Wöchentlich werden im Kernel mehrere Dutzend neue Schwachstellen entdeckt, die zuvor nicht mit Sicherheitsproblemen in Verbindung gebracht wurden (zum Beispiel wurden letzte Woche 68 Schwachstellen markiert).
Quelle: opennet.ru
