CVE-2026-98361

CVE-2026-98361

High · published October 6, 2026

CVSS v3.1
7.8
EPSS
0%
Percentile
2.2
In the wild
Unconfirmed
What it is

In the Linux kernel, the following vulnerability has been resolved:

RDMA/rxe: Restore HMM_PFN_WRITE check in ODP write paths

Commit 0b261d7c1cd3 ("RDMA/rxe: Break endless pagefault loop for RO

pages") dropped the access permission test from rxe_check_pagefault()

and left only HMM_PFN_VALID. A page faulted in read-only, for example

a page-cache folio behind a PROT_READ file mapping, then satisfies the

check and ODP write operations (RDMA WRITE, RDMA READ response, SEND

payload, atomics) modify it through kmap without ever breaking CoW.

An unprivileged user can register an ODP MR over such a mapping and

have incoming RDMA traffic overwrite the page cache of a file it only

holds O_RDONLY, including /etc/passwd or setuid binaries. This is the

same primitive class as Dirty COW and CVE-2022-2590.

mlx5 has the missing invariant: its ODP path sets the device write bit

only for pfns that carry HMM_PFN_WRITE. Restore it in rxe by requiring

HMM_PFN_WRITE in rxe_check_pagefault() for every operation except

RXE_PAGEFAULT_RDONLY. A write to a non-writable VMA now fails the one

fault attempt with -EPERM from hmm_vma_fault() instead of re-faulting

forever. For a writable VMA the fault breaks CoW and the write lands

in the private page.

Keep pmem flushes on the read-only check. arch_wb_cache_pmem() never

modifies memory, and the FLUSH access bits do not make the umem

writable, so classifying flushes as writes would make every flush

against a flush-only MR fail.

The record
Technical detail
CVSS v3.1
7.8 · HIGH
Vector
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
CVSS v4.0
Not supplied
EPSS
0.00127 · 2.2th percentile
Published
2026-10-06T13:18Z
References (3)
EPSS history
Timeline
  • 07 OCT 03:43Z
    EPSS moved — → 0%
    epss
  • 06 OCT 08:46Z
    RDMA/rxe: Restore HMM_PFN_WRITE check in ODP write paths
    cvelistv5