CVE-2026-46325·Kernel vulnerability
In the Linux kernel, the following vulnerability has been resolved: RDMA/rxe: Fix iova-to-va conversion for MR page sizes != PAGE_SIZE The current implementation incorrectly handles memory regions (MRs) with page sizes different from the system PAGE_SIZE. The core issue is that rxe_set_page() is called with mr->page_size step increments, but the page_list stores individual struct page pointers, each representing PAGE_SIZE of memory. ib_sg_to_page() has ensured that when i>=1 either a) SG[i-1].dma_end and SG[i].dma_addr are contiguous or b) SG[i-1].dma_end and SG[i].dma_addr are mr->page_size aligned. This leads to incorrect iova-to-va conversion in scenarios: 1) page_size < PAGE_SIZE (e.g., MR: 4K, system: 64K): ibmr->iova = 0x181800 sg[0]: dma_addr=0x181800, len=0x800 sg[1]: dma_addr=0x173000, len=0x1000 Access iova = 0x181800 + 0x810 = 0x182010 Expected VA: 0x173010 (second SG, offset 0x10) Before fix: - index = (0x182010 >> 12) - (0x181800 >> 12) = 1 - page_offset = 0x182010 & 0xFFF = 0x10 - xarray[1] stores system page base 0x170000 - Resulting VA: 0x170000 + 0x10 = 0x170010 (wrong) 2) page_size > PAGE_SIZE (e.g., MR: 64K, system: 4K): ibmr->iova = 0x18f800 sg[0]: dma_addr=0x18f800, len=0x800 sg[1]: dma_addr=0x170000, len=0x1000 Access iova = 0x18f800 + 0x810 = 0x190010 Expected VA: 0x170010 (second SG, offset 0x10) Before fix: - index = (0x190010 >> 16) - (0x18f800 >> 16) = 1 - page_offset = 0x190010 & 0xFFFF = 0x10 - xarray[1] stores system page for dma_addr 0x170000 - Resulting VA: system page of 0x170000 + 0x10 = 0x170010 (wrong) Yi Zhang reported a kernel panic[1] years ago related to this defect. Solution: 1. Replace xarray with pre-allocated rxe_mr_page array for sequential indexing (all MR page indices are contiguous) 2. Each rxe_mr_page stores both struct page* and offset within the system page 3. Handle MR page_size != PAGE_SIZE relationships: - page_size > PAGE_SIZE: Split MR pages into multiple system pages - page_size <= PAGE_SIZE: Store offset within system page 4. Add boundary checks and compatibility validation This ensures correct iova-to-va conversion regardless of MR page size and system PAGE_SIZE relationship, while improving performance through array-based sequential access. Tests on 4K and 64K PAGE_SIZE hosts: - rdma-core/pytests $ ./build/bin/run_tests.py --dev eth0_rxe - blktest: $ TIMEOUT=30 QUICK_RUN=1 USE_RXE=1 NVMET_TRTYPES=rdma ./check nvme srp rnbd [1] https://lore.kernel.org/all/CAHj4cs9XRqE25jyVw9rj9YugffLn5+f=1znaBEnu1usLOciD+g@mail.gmail.com/T/
- Severity
- critical
- Software
- Kernel
- Fixed in
- 6.19.4
- Published
How likely is exploitation
FIRST's Exploit Prediction Scoring System puts the probability of this CVE being exploited in the next 30 days at 0.35% — higher than 27% of all published CVEs. EPSS is an independent forecast of exploitation, not a severity rating: it says nothing about how much damage a successful attack does, which is what a CVSS score measures.
Read the two together. CVE-2026-46325 scores 9.8 on CVSS, so a successful attack would be serious — but at 0.35%, almost nobody is currently attempting it. That is a different situation from a flaw under mass exploitation, and it is usually the difference between patching on your next maintenance window and patching tonight.
Affected versions
From: 6.19
Until: 6.19.4
Fixed in: 6.19.4
How to fix this CVE
Update your Linux kernel to version 6.19.4 or later to fix the RDMA/rxe memory region page size conversion bug that can cause kernel panics and memory corruption. This critical vulnerability affects systems using RDMA over Ethernet with memory regions configured with non-standard page sizes. Apply the kernel update immediately and reboot your system to remediate this issue.
sudo dnf update kernel kernel-develDefensia detects this vulnerability
How to check if you are affected
- Step 1: Check installed kernel version with `uname -r` — versions 6.19.0 through 6.19.3 are vulnerable.
- Step 2: Verify if RDMA/RXE is in use by running `lsmod | grep rdma` and `lsmod | grep rxe` — if modules are loaded, the system is exposed.
- Step 3: Search kernel logs for panic traces related to RDMA: `sudo journalctl -b | grep -i 'rdma\|rxe\|kernel panic'` — look for memory access violations or null pointer dereferences.
- Step 4: After patching, verify the new kernel version with `uname -r` and confirm it shows 6.19.4 or later, then run `modprobe -r rdma_rxe && modprobe rdma_rxe` to reload the fixed module.
FAQ
What is CVE-2026-46325?
This vulnerability exists in the Linux kernel's RDMA/RXE (RDMA over Ethernet) subsystem where address translation from IOVA (I/O Virtual Address) to VA (Virtual Address) is incorrect when memory regions use page sizes that differ from the system's PAGE_SIZE. This can cause kernel panics, memory corruption, and system instability in environments using RDMA networking.
Is CVE-2026-46325 being actively exploited?
No, this vulnerability is not currently listed in the CISA Known Exploited Vulnerabilities (KEV) catalog and no public exploits are available. However, it can be triggered inadvertently through normal RDMA operations with certain memory configurations.
What versions of Kernel are affected by CVE-2026-46325?
Linux kernel versions 6.19.0 through 6.19.3 are vulnerable. The vulnerability has been resolved in version 6.19.4 and later.
How do I check if my server is vulnerable to CVE-2026-46325?
Run `uname -r` to check your kernel version. If it shows 6.19.0, 6.19.1, 6.19.2, or 6.19.3, your system is vulnerable. Additionally, confirm RDMA is active with `lsmod | grep -E '(rdma|rxe)'`.
Does Defensia detect CVE-2026-46325?
Yes — Defensia's CVE advisory scanner compares installed package versions against the NVD database. If the Linux kernel is installed on a monitored server, CVE-2026-46325 will appear in your dashboard with remediation steps.
Related Kernel CVEs
References
- https://git.kernel.org/stable/c/12985e5915a0b8354796efadaaeb201eed115377
- https://git.kernel.org/stable/c/2a585a08a43c568ed6e9f27a97fd3d95106b9e68
- https://git.kernel.org/stable/c/409c2c5508f3d30627bea576f8676de523cb906e
- https://git.kernel.org/stable/c/836f6c13c9674027793f720be3f15ecd2b90b6ca
- https://git.kernel.org/stable/c/e327021bd73b134c18167e2cd2a52eb5597fcba6
Track CVEs across your fleet automatically
Defensia scans your Linux servers and tells you exactly which ones are running vulnerable versions — including CVE-2026-46325. Free for 1 server.
Get started free