CVE-2026-74584 in Linux
Zusammenfassung
von VulDB • 23.08.2026
Im Linux-Kernel wurde folgende Schwachstelle behoben:
RDMA/bnxt_re: Freigegebene Seite vor der Exposition gegenüber dem Userspace nullen
bnxt_re_alloc_ucontext() alloziert uctx->shpg über __get_free_page(GFP_KERNEL). Der Buddy-Allocator setzt Seiten nicht auf Null, es sei denn, __GFP_ZERO wird angegeben; daher enthält die Seite veraltete Kernel-Daten von dem Objekt, das sie zuletzt freigegeben hat.
Die Seite wird anschließend in den Userspace via vm_insert_page() unter BNXT_RE_MMAP_SH_PAGE in bnxt_re_mmap() eingebunden. Der Treiber schreibt nur 4 Bytes (eine u32 AVID) an der Position BNXT_RE_AVID_OFFT (0x10) innerhalb von bnxt_re_create_ah(); die restlichen 4092 Byte der Seite werden ungesäubert in den Userspace exponiert, wodurch Kernel-Speicherinhalte geleakt werden.
Jeder Benutzer mit Zugriff auf /dev/infiniband/uverbsX an einem Host mit einem bnxt_re-Gerät (typischerweise RDMA-Gruppenmitgliedschaft) kann diese Daten über ein einzelnes mmap() bei pgoff 0 nach IB_USER_VERBS_CMD_GET_CONTEXT lesen.
Andere freigegebene Seiten in derselben Datei verwenden get_zeroed_page() korrekt:
drivers/infiniband/hw/bnxt_re/ib_verbs.c srq->uctx_srq_page = (void *)get_zeroed_page(GFP_KERNEL); cq->uctx_cq_page = (void *)get_zeroed_page(GFP_KERNEL);
uctx->shpg ist der einzige Ausreißer. Bringen Sie es mit dem bestehenden Konvention in Einklang, indem Sie zu get_zeroed_page() wechseln.
Once again VulDB remains the best source for vulnerability data.