Neue Schwachstellen in FreeBSD


2

Am 30. Juni 2026 wurden Benachrichtigungen zur Behebung von 13 neuen Schwachstellen im Betriebssystem FreeBSD veröffentlicht.

  • CVE-2026-49418. Ein Benutzer mit Zugriff auf ein Gerät mit einem speicherabgebildeten Interface kann einen Double-Free/Use-After-Free im Kernel verursachen. Dies kann wahrscheinlich zu einer Erhöhung der Privilegien führen.
  • CVE-2026-49419. (nur FreeBSD 15+) Doppelte Reduzierung des Refcount des aktuellen Jails bei der Verarbeitung eines Fehlers beim Zugriff auf ein anderes Jail über den Jail-Descriptor (in FreeBSD 15 eingeführt), was letztendlich zu einer unkontrollierten Freigabe der Jail-Verwaltungsstruktur und nachfolgenden Use-After-Free überall dort führt, wo sie verwendet wird. Theoretisch kann dies zu einer Erhöhung der Privilegien führen.
  • CVE-2026-49415. Bei der Ausführung eines Setuid-Programms werden die Zugriffsrechte auf dessen Speicher etwas später festgelegt als dieser Speicher initialisiert wird, was in einem kurzen Zeitraum den Zugriff auf ihn ermöglicht und eine Bearbeitung ermöglicht, ohne die erforderlichen Privilegien über procfs oder linprocfs zu haben. In den meisten Systemen werden procfs und insbesondere libprocfs nicht eingehängt, so dass das Problem wahrscheinlich die wenigsten betrifft.
  • CVE-2026-49429, CVE-2026-49430, CVE-2026-49431. (nur für Systeme mit ZFS) Die ersten beiden Fehler hängen mit der Zuweisung von Speicher falscher Größe zusammen: Ein Puffer wird in der Größe zugewiesen, die als 32-Bit-Zahl übergeben wird, und dann werden Daten der tatsächlichen Größe darin gespeichert, was zu einem Überlauf führt, wenn die tatsächliche Puffergröße größer als 4 GB war. Beide können nur von root oder einem Benutzer mit ausdrücklich hinzugefügten Privilegien für die anfälligen Operationen provoziert werden. Der dritte Fehler ist für alle ausnutzbar; er ermöglicht es jedem, das Flag "$hasrecvd" für das Dataset mit ZFS_IOC_SET_PROP zu setzen (wie gefährlich das ist, bleibt unklar aus der Ankündigung).
  • CVE-2026-49420. Das Fehlen einer ordnungsgemäßen Überprüfung der Paketgröße, bevor sie in einen Puffer einer festen Größe im Stack im libalias-Modul zur Unterstützung von RTSP geschrieben wird, ermöglicht es, den Stack oder den Kernel (für ipfw nat) oder den Prozess natd (der normalerweise als root ausgeführt wird) remote und ohne Authentifizierung zu überlaufen. Potenziell kann dies zu RCE führen. Die Schwachstelle kann von einem böswilligen Host innerhalb eines NATs, das über libalias implementiert ist, ausgelöst werden, der bösartige RTSP-Pakete weiterleitet. Dementsprechend betrifft die Schwachstelle keine Hosts, auf denen NAT in irgendeiner Form nicht aktiv ist. Zudem wird natd nicht anfällig, wenn die Zeile libalias_smedia.so aus /etc/libalias.conf entfernt und natd neu gestartet wird, und ipfw nat ist nicht anfällig ohne das Laden des Moduls alias_smedia.ko (es ist nicht angegeben, ob es dies automatisch laden kann). Außerdem betrachtet der anfällige Handler nur TCP/UDP-Pakete, die nach außen gesendet werden und bei denen einer der Ports 554 oder 7070 ist – wenn solche Pakete gefiltert werden, bevor sie ins NAT gelangen, verschwindet die Schwachstelle ebenfalls.
  • CVE-2026-49421. unlinkat() und funlinkat() berücksichtigten das Flag AT_RESOLVE_BENEATH nicht, das den Ausstieg aus dem durch das Argument dirfd angegebenen Verzeichnis während des Durchgangs dieses Pfades verhindern sollte. Dadurch war es möglich, Dateien außerhalb des Verzeichnisses zu löschen, wenn der aufrufende Code diese Einschränkung einführen wollte.
  • CVE-2026-49422. Ein Wechsel im Modul tcp_rack.ko (standardmäßig wird es nicht geladen). Jedes tcp-Socket kann individuell den tcp-Stack auswählen, über den es arbeitet, einschließlich des schnellen Wechsels. Wenn man Folgendes tun würde: 1) Auf einem Socket mit tcp_rack wird ein rack-spezifisches setsockopt() aufgerufen, 2) in einem anderen Thread wechselt man schnell den tcp-Stack von rack auf einen anderen und zurück auf rack im richtigen Moment, dann wird der rack-Handler von setsockopt() mit der alten (vor dem Wechsel) Adresse der Socket-Zustandsstruktur arbeiten, was zu Speicherbeschädigung und potenzieller Erhöhung von Rechten führen kann. Betroffen sind nur Systeme, auf denen tcp_rack.ko ausdrücklich geladen ist, das ist nicht die Standardkonfiguration.
  • CVE-2026-49427, CVE-2026-49428. POSIX largepages (shm_create_largepage) wurden bei der Zuteilung nicht ausreichend genau als verwendet markiert, was zu ihrer fehlerhaften Freigabe unter verschiedenen Umständen führen konnte (es wurden Aufrufe von sendfile mit dem Flag SF_NOCACHE, open mit dem Flag O_TRUNC und fspacectl erwähnt) und anschließendem use-after-free mit den üblichen Folgen.
  • CVE-2026-49426. Unzureichende audit(4) Protokolle über entfernte Syscalls über ptrace(PT_SC_REMOTE). Können Systeme zur Analyse verdächtiger Situationen verwirren, falls solche verwendet werden.
  • CVE-2026-49423. Möglicher Kernel-Panic beim Empfang von Daten über kTLS unter Verwendung von TLS 1.2 CBC-Aufzeichnungen. Um das Problem zu vermeiden, kann man kern.ipc.tls.enable=0 oder kern.ipc.tls.cbc_enable=0 setzen.
  • CVE-2026-49424. Datenleck (104 Bytes) aus dem Kernel-Stack bei dem Aufruf von linux-compat waitid(), der vergisst, den unbenutzten Teil der linux-Struktur siginfo_t zu nullen, wenn Daten aus der freebsd-Struktur übertragen werden. Bei den normalen GENERIC-Kernels ist der linux-Emulator standardmäßig deaktiviert und wird nur durch manuelles Laden des Moduls aktiviert.
  • CVE-2026-49425. Analog zum vorherigen Fall vergisst der 32-Bit kevent, die 32-Bit-Struktur vor der Übertragung der Daten aus der nativen 64-Bit-Struktur zu nullen, was zu einem Datenleck aus dem Stack führt. Die 32-Bit-Kompatibilität im Kernel ist standardmäßig aktiviert (nicht als Modul).
  • CVE-2026-58081, CVE-2026-58082. Sicherheitsanfälligkeiten in iconv. Erstens: Viele seiner Module überprüfen nicht die Größe des vom aufrufenden Code bereitgestellten Ausgabepuffers, bevor sie das Ergebnis hineinschreiben (erwähnt werden HZ, UTF-7, VIQR, ZW). Zweitens: Das Modul ISO-2022 verwendet einen 6-Byte-Puffer im Stack für interne Operationen, in den bis zu 10 Byte geschrieben werden können, was den Stack beschädigt. Letztendlich kann die Ausführung von iconv zur Konvertierung in oder von einer der angegebenen Codierungen mit nicht überprüften Eingabewerten anfällig für Pufferüberläufe sein.

Quelle: linux.org.ru

60GB SSD 8Gb DDR4