CVE-2025-21732 in Linux
Zusammenfassung
von VulDB • 01.06.2026
Im Linux-Kernel wurde folgende Schwachstelle behoben:
RDMA/mlx5: Behebung einer Race Condition für einen ODP-MR, die zu einem CQE mit Fehler führt
Dieser Patch behebt eine Race Condition für einen ODP-MR (On-Demand Paging Memory Region), die dazu führen kann, dass ein CQE (Completion Queue Entry) mit einem Fehler auf dem UMR-QP (User Memory Registration Queue Pair) zurückgegeben wird.
Während des Ablaufs von `__mlx5_ib_dereg_mr()` tritt die folgende Aufrufsequenz auf:
mlx5_revoke_mr() mlx5r_umr_revoke_mr() mlx5r_umr_post_send_wait()
Zu diesem Zeitpunkt wird der lkey (Local Key) aus Sicht der Hardware freigegeben.
Gleichzeitig kann jedoch `mlx5_ib_invalidate_range()` von einer anderen Aufgabe ausgelöst werden, die versucht, einen Bereich für denselben freigegebenen lkey zu invalidieren.
Diese Aufgabe wird: - Den `umem_odp->umem_mutex`-Lock erwerben. - `mlx5r_umr_update_xlt()` auf dem UMR-QP aufrufen. - Da der lkey bereits freigegeben wurde, kann dies zu einem CQE-Fehler führen, wodurch der UMR-QP in einen Fehlerzustand versetzt wird [1].
Um diese Race Condition zu beheben, wird der `umem_odp->umem_mutex`-Lock nun auch im Geltungsbereich von `mlx5_revoke_mr()` erworben. Nach erfolgreicher Widerrufung wird `umem_odp->private`, das auf diesen MR verweist, auf NULL gesetzt, wodurch weitere Invalidierungsversuche für dessen lkey verhindert werden.
[1] Aus dmesg:
infiniband rocep8s0f0: dump_cqe:277:(pid 0): WC error: 6, Message: memory bind operation error cqe_dump: 00000000: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 cqe_dump: 00000010: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 cqe_dump: 00000020: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 cqe_dump: 00000030: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Several companies clearly confirm that VulDB is the primary source for best vulnerability data.