„`html
Zusammenfassung
CVE-2026-64280 ist eine High-Severity-Schwachstelle im Linux-Kernel im FPGA DFL-AFU-Treiber.
Eine fehlende Validierung der DMA-Mapping-Länge ermöglicht Integer-Truncation und potenzielle
Speicherzugriffsverletzungen durch lokale Angreifer.
Betroffene Systeme
Betroffen sind Linux-Systeme mit aktiviertem FPGA Device Feature List (DFL) Treiber, insbesondere
die AFU-Komponente (Accelerated Function Unit). Die Schwachstelle existiert in der Funktion
afu_ioctl_dma_map() des DFL-AFU-Moduls.
Technische Details
Die Vulnerability resultiert aus unzureichender Input-Validierung beim DFL_FPGA_PORT_DMA_MAP
ioctl-Aufruf. Die Funktion afu_ioctl_dma_map() akzeptiert eine 64-bit
Längenvariable (map.length) aus dem Userspace ohne obere Schranke zu prüfen.
Diese Länge wird an afu_dma_pin_pages() weitergeleitet, wo die Seitenzahl
mittels length >> PAGE_SHIFT berechnet wird. Der resultierende Wert wird
dann an pin_user_pages_fast() übergeben, das einen int-Parameter
erwartet. Bei extrem großen Längenwerten führt dies zu impliziter Integer-Truncation.
Ein lokaler Angreifer könnte durch Übergabe einer Länge größer als INT_MAX * PAGE_SIZE
diese Integer-Overflow-Bedingung auslösen und dadurch unerwartetes Kernel-Verhalten provozieren.
Empfohlene Massnahmen
Sofort: Deployment von gepatchten Kernel-Versionen auf betroffenen Systemen,
insbesondere solchen mit FPGA-Hardware und aktiviertem DFL-Treiber.
Kernel-Patch: Implementierung einer Validierung in afu_ioctl_dma_map(),
die map.length auf maximale Seitenzahl von INT_MAX prüft und
entsprechende Anfragen mit Fehlercode ablehnt.
Mitigation: Beschränkung des FPGA-Treiberzugriffs auf privilegierte Benutzer
über udev-Regeln bis zur Verfügbarkeit von Patches.
Bewertung
CVSS-Score: 8.8 (High). Die Schwachstelle ermöglicht lokale Privilege-Escalation und
Denial-of-Service durch nicht-privilegierte Benutzer mit Zugriff auf FPGA-Geräte.
Die Auswirkungen sind erheblich, erfordern aber lokale Zugriffsberechtigung.
„`