CVE-2026-98254

swiotlb: use the adjusted address for the highmem page lookup

CVE-2026-98254 is fixed in 37 products on 1 platform, first by DEBIAN-CVE-2026-98254, released October 6, 2026. It is not reported as exploited. Patch Radar priority: Urgent.

Urgent
CVSS
9.8
Critical
Exploitation
None reported
No vendor assessment
CISA KEV
Not listed
Not in the Known Exploited Vulnerabilities catalog
EPSS
0.0013
2nd percentile

In the Linux kernel, the following vulnerability has been resolved: swiotlb: use the adjusted address for the highmem page lookup swiotlb_bounce() reads the page frame number from the slot's recorded orig_addr, then advances orig_addr by tlb_offset to reach the address the caller asked about. The highmem branch mixes the two: the offset within the page comes from the adjusted address, the page from the value before it. Once the adjustment crosses a page boundary the pair no longer describes one location, and the whole copy lands one page below the intended one for a positive tlb_offset, one above for a negative one. DMA_FROM_DEVICE writes the device data over the wrong page and leaves the intended one stale, DMA_TO_DEVICE feeds the device from a page the mapping may not cover. Partial syncs through dma_sync_single_range_for_*() are what make tlb_offset non-zero. The branch test is picked the same way, so a slot recorded in lowmem can be adjusted into highmem and the lowmem path then hands a highmem address to phys_to_virt(). Take both from orig_addr once it is final and keep pfn in the branch that uses it. PhysHighMem() asks the question straight from the address, as dma-debug already does.

Where it's fixed

ProductFixed inFixReleased
Linux
kernel-uek · ol 10 0:6.12.0-208.112.5.el9uek ELSA-2026-500572 Nov 7, 2026
kernel-uek · ol 9 0:6.12.0-208.112.5.el9uek ELSA-2026-500572 Nov 7, 2026
kernel-uek-core · ol 10 0:6.12.0-208.112.5.el9uek ELSA-2026-500572 Nov 7, 2026
kernel-uek-core · ol 9 0:6.12.0-208.112.5.el9uek ELSA-2026-500572 Nov 7, 2026
kernel-uek-debug · ol 10 0:6.12.0-208.112.5.el9uek ELSA-2026-500572 Nov 7, 2026
kernel-uek-debug · ol 9 0:6.12.0-208.112.5.el9uek ELSA-2026-500572 Nov 7, 2026
kernel-uek-debug-core · ol 10 0:6.12.0-208.112.5.el9uek ELSA-2026-500572 Nov 7, 2026
kernel-uek-debug-core · ol 9 0:6.12.0-208.112.5.el9uek ELSA-2026-500572 Nov 7, 2026
kernel-uek-debug-devel · ol 10 0:6.12.0-208.112.5.el9uek ELSA-2026-500572 Nov 7, 2026
kernel-uek-debug-devel · ol 9 0:6.12.0-208.112.5.el9uek ELSA-2026-500572 Nov 7, 2026
kernel-uek-debug-modules · ol 10 0:6.12.0-208.112.5.el9uek ELSA-2026-500572 Nov 7, 2026
kernel-uek-debug-modules · ol 9 0:6.12.0-208.112.5.el9uek ELSA-2026-500572 Nov 7, 2026
kernel-uek-debug-modules-core · ol 10 0:6.12.0-208.112.5.el9uek ELSA-2026-500572 Nov 7, 2026
kernel-uek-debug-modules-core · ol 9 0:6.12.0-208.112.5.el9uek ELSA-2026-500572 Nov 7, 2026
kernel-uek-debug-modules-deprecated · ol 10 0:6.12.0-208.112.5.el9uek ELSA-2026-500572 Nov 7, 2026
kernel-uek-debug-modules-deprecated · ol 9 0:6.12.0-208.112.5.el9uek ELSA-2026-500572 Nov 7, 2026
kernel-uek-debug-modules-desktop · ol 10 0:6.12.0-208.112.5.el9uek ELSA-2026-500572 Nov 7, 2026
kernel-uek-debug-modules-desktop · ol 9 0:6.12.0-208.112.5.el9uek ELSA-2026-500572 Nov 7, 2026
kernel-uek-debug-modules-extra · ol 10 0:6.12.0-208.112.5.el9uek ELSA-2026-500572 Nov 7, 2026
kernel-uek-debug-modules-extra · ol 9 0:6.12.0-208.112.5.el9uek ELSA-2026-500572 Nov 7, 2026
kernel-uek-debug-modules-extra-netfilter · ol 10 0:6.12.0-208.112.5.el9uek ELSA-2026-500572 Nov 7, 2026
kernel-uek-debug-modules-extra-netfilter · ol 9 0:6.12.0-208.112.5.el9uek ELSA-2026-500572 Nov 7, 2026
kernel-uek-debug-modules-usb · ol 10 0:6.12.0-208.112.5.el9uek ELSA-2026-500572 Nov 7, 2026
kernel-uek-debug-modules-usb · ol 9 0:6.12.0-208.112.5.el9uek ELSA-2026-500572 Nov 7, 2026
kernel-uek-debug-modules-wireless · ol 10 0:6.12.0-208.112.5.el9uek ELSA-2026-500572 Nov 7, 2026
kernel-uek-debug-modules-wireless · ol 9 0:6.12.0-208.112.5.el9uek ELSA-2026-500572 Nov 7, 2026
kernel-uek-devel · ol 10 0:6.12.0-208.112.5.el9uek ELSA-2026-500572 Nov 7, 2026
kernel-uek-devel · ol 9 0:6.12.0-208.112.5.el9uek ELSA-2026-500572 Nov 7, 2026
kernel-uek-doc · ol 10 0:6.12.0-208.112.5.el9uek ELSA-2026-500572 Nov 7, 2026
kernel-uek-doc · ol 9 0:6.12.0-208.112.5.el9uek ELSA-2026-500572 Nov 7, 2026
kernel-uek-modules · ol 10 0:6.12.0-208.112.5.el9uek ELSA-2026-500572 Nov 7, 2026
kernel-uek-modules · ol 9 0:6.12.0-208.112.5.el9uek ELSA-2026-500572 Nov 7, 2026
kernel-uek-modules-core · ol 10 0:6.12.0-208.112.5.el9uek ELSA-2026-500572 Nov 7, 2026
kernel-uek-modules-core · ol 9 0:6.12.0-208.112.5.el9uek ELSA-2026-500572 Nov 7, 2026
kernel-uek-modules-deprecated · ol 10 0:6.12.0-208.112.5.el9uek ELSA-2026-500572 Nov 7, 2026
kernel-uek-modules-deprecated · ol 9 0:6.12.0-208.112.5.el9uek ELSA-2026-500572 Nov 7, 2026
kernel-uek-modules-desktop · ol 10 0:6.12.0-208.112.5.el9uek ELSA-2026-500572 Nov 7, 2026
kernel-uek-modules-desktop · ol 9 0:6.12.0-208.112.5.el9uek ELSA-2026-500572 Nov 7, 2026
kernel-uek-modules-extra · ol 10 0:6.12.0-208.112.5.el9uek ELSA-2026-500572 Nov 7, 2026
kernel-uek-modules-extra · ol 9 0:6.12.0-208.112.5.el9uek ELSA-2026-500572 Nov 7, 2026
kernel-uek-modules-extra-netfilter · ol 10 0:6.12.0-208.112.5.el9uek ELSA-2026-500572 Nov 7, 2026
kernel-uek-modules-extra-netfilter · ol 9 0:6.12.0-208.112.5.el9uek ELSA-2026-500572 Nov 7, 2026
kernel-uek-modules-usb · ol 10 0:6.12.0-208.112.5.el9uek ELSA-2026-500572 Nov 7, 2026
kernel-uek-modules-usb · ol 9 0:6.12.0-208.112.5.el9uek ELSA-2026-500572 Nov 7, 2026
kernel-uek-modules-wireless · ol 10 0:6.12.0-208.112.5.el9uek ELSA-2026-500572 Nov 7, 2026
kernel-uek-modules-wireless · ol 9 0:6.12.0-208.112.5.el9uek ELSA-2026-500572 Nov 7, 2026
kernel-uek-tools · ol 10 0:6.12.0-208.112.5.el9uek ELSA-2026-500572 Nov 7, 2026
kernel-uek-tools · ol 9 0:6.12.0-208.112.5.el9uek ELSA-2026-500572 Nov 7, 2026
kernel-uek64k · ol 10 0:6.12.0-208.112.5.el9uek ELSA-2026-500572 Nov 7, 2026
kernel-uek64k · ol 9 0:6.12.0-208.112.5.el9uek ELSA-2026-500572 Nov 7, 2026
kernel-uek64k-core · ol 10 0:6.12.0-208.112.5.el9uek ELSA-2026-500572 Nov 7, 2026
kernel-uek64k-core · ol 9 0:6.12.0-208.112.5.el9uek ELSA-2026-500572 Nov 7, 2026
kernel-uek64k-devel · ol 10 0:6.12.0-208.112.5.el9uek ELSA-2026-500572 Nov 7, 2026
kernel-uek64k-devel · ol 9 0:6.12.0-208.112.5.el9uek ELSA-2026-500572 Nov 7, 2026
kernel-uek64k-modules · ol 10 0:6.12.0-208.112.5.el9uek ELSA-2026-500572 Nov 7, 2026
kernel-uek64k-modules · ol 9 0:6.12.0-208.112.5.el9uek ELSA-2026-500572 Nov 7, 2026
kernel-uek64k-modules-core · ol 10 0:6.12.0-208.112.5.el9uek ELSA-2026-500572 Nov 7, 2026
kernel-uek64k-modules-core · ol 9 0:6.12.0-208.112.5.el9uek ELSA-2026-500572 Nov 7, 2026
kernel-uek64k-modules-deprecated · ol 10 0:6.12.0-208.112.5.el9uek ELSA-2026-500572 Nov 7, 2026
kernel-uek64k-modules-deprecated · ol 9 0:6.12.0-208.112.5.el9uek ELSA-2026-500572 Nov 7, 2026
kernel-uek64k-modules-desktop · ol 10 0:6.12.0-208.112.5.el9uek ELSA-2026-500572 Nov 7, 2026
kernel-uek64k-modules-desktop · ol 9 0:6.12.0-208.112.5.el9uek ELSA-2026-500572 Nov 7, 2026
kernel-uek64k-modules-extra · ol 10 0:6.12.0-208.112.5.el9uek ELSA-2026-500572 Nov 7, 2026
kernel-uek64k-modules-extra · ol 9 0:6.12.0-208.112.5.el9uek ELSA-2026-500572 Nov 7, 2026
kernel-uek64k-modules-extra-netfilter · ol 10 0:6.12.0-208.112.5.el9uek ELSA-2026-500572 Nov 7, 2026
kernel-uek64k-modules-extra-netfilter · ol 9 0:6.12.0-208.112.5.el9uek ELSA-2026-500572 Nov 7, 2026
kernel-uek64k-modules-usb · ol 10 0:6.12.0-208.112.5.el9uek ELSA-2026-500572 Nov 7, 2026
kernel-uek64k-modules-usb · ol 9 0:6.12.0-208.112.5.el9uek ELSA-2026-500572 Nov 7, 2026
kernel-uek64k-modules-wireless · ol 10 0:6.12.0-208.112.5.el9uek ELSA-2026-500572 Nov 7, 2026
kernel-uek64k-modules-wireless · ol 9 0:6.12.0-208.112.5.el9uek ELSA-2026-500572 Nov 7, 2026
linux · Debian 13.5 (trixie) 6.12.113-1 DEBIAN-CVE-2026-98254 Oct 6, 2026
linux · Debian 14 7.2.8-1 DEBIAN-CVE-2026-98254 Oct 6, 2026
linux-6.12 · Debian 12.15 (bookworm) 6.12.113-1~deb12u1 DEBIAN-CVE-2026-98254 Oct 6, 2026

Patch Radar data is free to use with attribution. Terms and how to credit it.

Product names, logos and trademarks shown on Patch Radar belong to their respective owners. They are used only to identify the software each security fix applies to and to help readers find their platform. Their use does not imply any affiliation with, or endorsement by, those owners, and Patchblox is not affiliated with any of them.