FreeBSD 15 1 (Bild © FreeBSD)
Wichtige Verbesserungen bei Sicherheit und Stabilität
FreeBSD 14.5 behebt eine beträchtliche Anzahl von Sicherheitslücken. Das Update löst eine Vielzahl von Problemen, darunter Remote-Code-Execution (RCE), Denial-of-Service (DoS)-Angriffe, Kernel-Stack-Überläufe und „Use-after-free“-Fehler. Das Projekt wies insbesondere darauf hin, dass einige dieser Schwachstellen durch den Einsatz von KI und Analysen mit großen Sprachmodellen (LLM) identifiziert wurden.
Neben Sicherheitspatches enthält die Version verschiedene Errata-Korrekturen. Diese reichen von der Behebung von Fehlern beim Nullsetzen des Speichers im Page-Fault-Handler über die Aktualisierung der Zeitzonen-Datenbank bis hin zur Behebung von TLB-Invalidierungsproblemen auf bestimmten AMD-Systemen.
Hardware-Treiber- und Geräte-Updates
Die Version führt mehrere Änderungen an der Hardware-Unterstützung ein, um die Systemkompatibilität und Energieeffizienz zu verbessern:
- Apple-Hardware: Der ACPI-Treiber bietet nun eine verbesserte Energieverwaltung für Mac-Systeme mit zwei GPUs. Durch die standardmäßige Aktivierung von „Darwin OSI“ kann das System die integrierte GPU nutzen, um die Akkulaufzeit zu verlängern. Die Unterstützung für 32-Bit-Macs auf Intel-Basis wurde jedoch aus dem ASMC-Treiber entfernt.
- Speichercontroller: Der AHCI-Treiber wurde erweitert, um zusätzliche SATA-Controller zu unterstützen, insbesondere die Variante Marvell 88SE9128.
- **Peripheriegeräte: Es wurden neue Tastaturlayouts hinzugefügt, darunter das Lenovo-Layout und das US-International-Layout mit Akzenttasten.
- Netzwerk und Speicher: Das msdosfs-Dateisystem unterstützt nun Unicode-Surrogatpaare, was die Verwendung von Emojis und anderen erweiterten Zeichen auf FAT32-Volumes ermöglicht.
Aktualisierungen des Software-Stacks und des Userlands
FreeBSD 14.5 aktualisiert mehrere zentrale externe Bibliotheken und Dienstprogramme, um moderne Kompatibilität und Sicherheit zu gewährleisten:
- Kernkomponenten: Das System integriert nun LLVM 21.1.8, OpenSSL 3.0.21, ncurses 6.6 und XZ 5.8.3.
- **Änderungen bei den Tools: Der Standard-Linker für clang ist nun ld.lld. Bei der sh-Shell wurde die Standardgröße des Verlaufs von 100 auf 128 erhöht, um den POSIX.1-2024-Standards zu entsprechen.
- Netzwerkkonfiguration: Das Skript rc.firewall ermöglicht es Administratoren nun, IP-Adressen oder Subnetze aus externen Dateien für vertrauenswürdige Listen und zugelassene Dienste zu laden.
- Systemdienstprogramme: Der Befehl pwd verwendet nun standardmäßig das Flag -L, um der POSIX-Semantik zu entsprechen, und das Dienstprogramm daemon führt die Option -m zur Festlegung der Ausgabedateimodi ein.
Verbesserungen am Kernel und am Bootloader
Es wurden wesentliche architektonische Anpassungen am Kernel und am Bootvorgang vorgenommen:
- Kernel-Sicherheit: Es wurde eine neue Sicherheitskontrolle implementiert, um den Zugriff ohne entsprechende Berechtigungen auf die Kernel-Umgebung (kenv) zu blockieren und so sensible Systemdaten zu schützen.
- Linux-Kompatibilität: Um die Quellkodekompatibilität mit Linux zu verbessern, enthält der Kernel nun inotify-Systemaufrufe, wodurch Anwendungen Dateisystemereignisse überwachen können, ohne jede einzelne Datei öffnen zu müssen.
- Korrekturen am Bootloader: Die loader.efifür amd64 wurde gepatcht, um Boot-Fehler beim Laden des Mikrocodes zu verhindern. Zudem werden Nvidia-Kernelmodule nun vom Loader auf die Blacklist gesetzt, um Systemabstürze während der frühen Bootphase zu verhindern.
- ZFS-Integration: Das ZFS-Laufzeitskript wird nun so geplant, dass es vor dem tmp-Skript ausgeführt wird. Dadurch wird sichergestellt, dass ZFS-Datensätze korrekt gemountet sind, bevor das System die Schreibbarkeit prüft.
FreeBSD 14 auf FreeBSD 14.5 Upgrade durchführen
Benutzer, die auf FreeBSD 14.5-RELEASE umsteigen, haben zwei Hauptmöglichkeiten für das Upgrade:
- 1. Binär-Upgrades: Dies erfolgt mithilfe des Dienstprogramms freebsd-update, das die unveränderten Userland- und GENERIC-Kernel aktualisiert. Für diese Methode ist eine aktive Internetverbindung erforderlich.
- 2. Upgrades aus dem Quellcode: Nutzer, die ihr System aus dem Quellcode kompilieren, können den Anweisungen im Verzeichnis /usr/src/UPDATING folgen.
Das Projekt empfiehlt allen Nutzern, vor Beginn des Upgrade-Vorgangs eine vollständige Sicherung ihrer Daten und Konfigurationsdateien durchzuführen.
