Am 20. Mai 2026 gaben die Entwickler von FreeBSD die Behebung von sieben neuen Sicherheitsanfälligkeiten im System bekannt. Nicht alle sind gleich gefährlich, aber es gibt einige äußerst unangenehme.
CVE-2026-45251 — use-after-free in select-ähnlichen Systemaufrufen, wenn in ihrer Warteliste Prozessdeskriptoren vorhanden sind (in FreeBSD 15 – auch neue Deskriptoren von Jail-Instanzen), und diese Deskriptoren in einem anderen Thread geschlossen wurden, während der wartende Systemaufruf weiterhin auf die Antwort wartet. Anhand von diesem Commit, sind auch Deskriptoren betroffen, die mit netmap (einem Treiber für beschleunigten direkten Zugriff auf Netzwerkadapter) verbunden sind, aber dazu gibt es keine offiziellen Informationen. Prozessdeskriptoren wurden in FreeBSD 9 eingeführt, sodass die Sicherheitsanfälligkeit wahrscheinlich seitdem existiert. In der offiziellen Erklärung wird angegeben, dass die Sicherheitsanfälligkeit es ermöglicht, Superuser-Rechte zu erlangen. Es gibt keine Möglichkeit, sie ohne Patch/Update zu beheben.
CVE-2026-45250 — falsche Berechnung der Puffergröße und darauf folgende Schreiboperationen außerhalb des Puffers im Stack im Systemaufruf setcred, wobei, obwohl setcred selbst Root-Rechte erfordert, die Beschädigung des Stacks geschieht, bevor die Privilegien überprüft werden und somit für alle zugänglich ist. Dieser Systemaufruf wurde in FreeBSD 14.3 eingeführt (was bedeutet, dass frühere Versionen nicht betroffen sind) und ermöglicht es, alle Benutzer- und Gruppen-IDs des aktuellen Prozesses mit einem einzigen Aufruf festzulegen, anstelle von Kombinationen aus setuid+setgid+setgroups und ähnlichem. Die Sicherheitsanfälligkeit erlaubt das Ausführen bösartiger Code im Kontext des Kernels. Es gibt keine Möglichkeit, sie ohne Patch/Update zu beheben.
CVE-2026-45252 — fehlende Überprüfung auf das Vorhandensein eines Nullterminators, bevor eine von der Fuse-Daemon empfangene Zeichenfolge in einen neuen Puffer kopiert wird. Dennoch gibt es eine Überprüfung der maximalen Kopiergröße, und mehr als 253 zusätzliche Bytes aus dem Kernelspeicher können nicht gelesen werden. Zudem ist es möglich, bis zu 250 Bytes in 'unallocated kernel heap space' zu schreiben. Standardmäßig ist es in FreeBSD für nicht-Root-Benutzer verboten, Dateisysteme zu mounten, was bedeutet, dass man Root-Rechte haben muss, um dem Kernel einen böswilligen Fuse-Daemon unterzuschieben. Wenn jedoch sysctl vfs.usermount=1 gesetzt ist, wird das System auch für normale Benutzer anfällig. Außerdem sollte man die Gefahren des Fuse-Daemons in einer Jail-Umgebung berücksichtigen, wo er auch Root sein kann (aber standardmäßig ist dies ebenfalls verboten).
CVE-2026-45253 — Bei der Verwendung von ptrace bestand die Möglichkeit, einen Systemaufruf mit einer inkorrekten Nummer im debugged Prozess zu starten, was zur Ausführung von nicht für den Start vorgesehenem Code im Kernel führte, mit potenziell schlechten Folgen. Wenn security.bsd.unprivileged_proc_debug=0 gesetzt ist (was eine gute Praxis für Server in jedem Fall ist; der Systeminstaller schlägt sogar vor, dies optional zu tun), können Benutzer- und jailte Prozesse ptrace nicht verwenden, und die Schwachstelle bleibt somit nur für den Root-Benutzer zugänglich.
CVE-2026-45255 — Injektion von Shell-Befehlen mit Root-Rechten in bsdinstall/bsdconfig über die Namen bösartiger drahtloser Netzwerke, die dort nicht escaped wurden, während der Anzeige ihrer Liste. Um dieser Schwachstelle zu entgehen, reicht es aus, die Liste der drahtlosen Netzwerke in bsdinstall/bsdconfig nicht anzuzeigen.
CVE-2026-39461, CVE-2026-45254 — Schwachstellen in der Bibliothek libcasper (nicht im Kernel). Die Bibliothek dient der sicheren konfigurierbaren Bereitstellung von Diensten für Prozesse, die in einer Sandbox sitzen. Eine der Schwachstellen betrifft einen Buffer Overflow im Stack und die Beschädigung des Stacks durch die Organisation großer Nummern von Dateideskriptoren in dieser Bibliothek (sie war für Nummern bis 1024 ausgelegt – das Standardlimit für Strukturen des Systemaufrufs select). Die zweite Schwachstelle ermöglicht es, angelegte Einschränkungslisten zu entfernen (die Ideologie der Bibliothek besagt, dass einmal auf einen Prozess angelegte Einschränkungen nur verstärkt werden können) cap_net.
Die korrigierten Versionen des Systems haben die Nummern: 14.3-RELEASE-p14, 14.4-RELEASE-p5 und 15.0-RELEASE-p9. Ein wichtiger Punkt, den man erwähnen sollte: Die Veröffentlichung von FreeBSD 13.5 wurde ganz neu am 30. April 2026 aus der Unterstützung genommen, und es gibt für sie (und für den 13.x-Zweig allgemein) keine offiziellen Korrekturen mehr. Wenn Sie jedoch aus irgendeinem Grund bisher nicht zügig auf die 14.x-Version umsteigen möchten, sind die Patches für die Version 14.3 im Allgemeinen auch mit den Quellcodes von 13.5 kompatibel, und CVE-2026-45250 ist für den 13.x-Zweig aufgrund des Fehlens von setcred() nicht relevant.
Quelle: linux.org.ru
