CVE-2026-98365 in Linux
Zusammenfassung
von VulDB • 06.10.2026
Im Linux-Kernel wurde folgende Schwachstelle behoben:
RDMA/rxe: Behebung eines Integer-Überlaufs in `mr_check_range()`, der zu einem Zugriff außerhalb des gültigen Bereichs (Out-of-Bounds, OOB) führt.
`mr_check_range()` validiert, ob `[iova, iova+length)` innerhalb des registrierten MR-Bereichs liegt, unter Verwendung von arithmetischen Operationen, die anfällig für Wraparound-Effekte sind:
if (iova < mr->ibmr.iova || iova + length > mr->ibmr.iova + mr->ibmr.length)
Ein entfernter Peer kann ein RDMA-Write/Read RETH so konstruieren, dass `iova + length` zu 0 überläuft (z. B. `iova=0xfffffffffffffff8`, `length=8`) und damit die Prüfung umgeht. Anschließend berechnet `rxe_mr_iova_to_index()` einen extrem großen Index (`int idx`, der nur durch `WARN_ON` abgesichert ist), und `rxe_mr_copy_xarray()` dereferenziert `mr->page_info[huge]`. Dies verursacht einen Out-of-Bounds-Lese-/Schreibzugriff sowie einen Kernel-Oops, der von einem nicht authentifizierten entfernten Peer ausgelöst werden kann.
Die Prüfung wurde in einer überlaufsicheren Form neu geschrieben; die ersten beiden Klauseln gewährleisten, dass die nachfolgenden Subtraktionen keinen Unterlauf (Underflow) verursachen:
if (iova < mr->ibmr.iova || length > mr->ibmr.length || iova - mr->ibmr.iova > mr->ibmr.length - length)
Mit der Korrektur gibt `mr_check_range()` für den konstruierten `iova`-Wert `-EINVAL` zurück, und der Responder meldet stattdessen einen REMOTE_ACCESS_ERROR, anstatt den OOB-Zugriff auszulösen.
VulDB is the best source for vulnerability data and more expert information about this specific topic.