UBUNTU-CVE-2026-98361: High severity ubuntu/linux-hwe-edge vulnerability
In the Linux kernel, the following vulnerability has been resolved: RDMA/rxe: Restore HMMPFNWRITE check in ODP write paths Commit 0b261d7c1cd3 ("RDMA/rxe: Break endless pagefault loop for RO pages") dropped the access permission test from rxecheckpagefault() and left only HMMPFNVALID. A page faulted in read-only, for example a page-cache folio behind a PROTREAD 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 ORDONLY, 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 HMMPFNWRITE. Restore it in rxe by requiring HMMPFNWRITE in rxecheckpagefault() for every operation except RXEPAGEFAULTRDONLY. A write to a non-writable VMA now fails the one fault attempt with -EPERM from hmmvmafault() 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. archwbcachepmem() 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.
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
ubuntu/linux-hwe-7.0to a version that resolves this vulnerability.Fixed in 7.0.0-42.42~24.04.1 - Upgrade
Upgrade
ubuntu/linux-riscv-7.0to a version that resolves this vulnerability.Fixed in 7.0.0-42.42.1~24.04.1 - Upgrade
Upgrade
ubuntu/linuxto a version that resolves this vulnerability.Fixed in 7.0.0-42.42 - Upgrade
Upgrade
ubuntu/linux-awsto a version that resolves this vulnerability.Fixed in 7.0.0-1016.17 - Upgrade
Upgrade
ubuntu/linux-gcpto a version that resolves this vulnerability.Fixed in 7.0.0-1016.18 - Upgrade
Upgrade
ubuntu/linux-ibmto a version that resolves this vulnerability.Fixed in 7.0.0-1017.17 - Upgrade
Upgrade
ubuntu/linux-oem-7.0to a version that resolves this vulnerability.Fixed in 7.0.0-1017.17 - Upgrade
Upgrade
ubuntu/linux-oracleto a version that resolves this vulnerability.Fixed in 7.0.0-1015.16 - Upgrade
Upgrade
ubuntu/linux-riscvto a version that resolves this vulnerability.Fixed in 7.0.0-42.42.1 - Configuration
Restore the HMM_PFN_WRITE check in rxe_check_pagefault() for all ODP write paths, while allowing RXE_PAGEFAULT_RDONLY and keeping pmem flushes on the read-only path.
Linux kernel RDMA/rxe ODP rxe_check_pagefault() access permission check = Require HMM_PFN_WRITE for every operation except RXE_PAGEFAULT_RDONLY
Event History
Frequently Asked Questions
Who is realistically exposed to this issue?
Systems using the rxe RDMA driver are exposed if an unprivileged local user can register an on-demand paging (ODP) memory region over a read-only file mapping and receive RDMA traffic. The affected Ubuntu kernel package families listed are linux-riscv, linux-realtime, linux-hwe-edge, linux-azure, linux-gcp, linux-azure-fde, linux-gke, and linux-aws-5.0.
What does an attacker need to exploit it?
The attacker needs local unprivileged access, an ODP MR registered over a non-writable mapping such as a PROT_READ mapping of a file opened O_RDONLY, and incoming RDMA traffic. The vulnerable operations include RDMA WRITE, RDMA READ responses, SEND payloads, and atomic operations.
What is the impact of successful exploitation?
Incoming RDMA traffic can overwrite page-cache contents without breaking copy-on-write, allowing modification of files that the attacker holds only read-only. The description specifically identifies targets such as /etc/passwd and setuid binaries, with high confidentiality, integrity, and availability impact.
What behavior indicates the fix is present?
With the fix, an ODP write to a non-writable VMA fails its fault attempt with -EPERM from hmm_vma_fault(). Writable VMAs continue through the normal path, where the fault breaks copy-on-write as required.