# 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.

- Web page: https://patchblox.com/security/cve/CVE-2026-98254
- Priority: Urgent
- CVSS: 9.8 (Critical)
- EPSS: 0.0013
- CISA KEV: not listed
- Exploited (vendor report): no
- Publicly disclosed: no
- Published: Oct 6, 2026
- Vendor advisory: https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-98254

## Description

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

| Platform | Product | Fixed in | Fix | Released |
|---|---|---|---|---|
| Linux | kernel-uek ol 10 | 0:6.12.0-208.112.5.el9uek | [ELSA-2026-500572](https://patchblox.com/security/data/fix/linux/elsa-2026-500572.md) | Nov 7, 2026 |
| Linux | kernel-uek ol 9 | 0:6.12.0-208.112.5.el9uek | [ELSA-2026-500572](https://patchblox.com/security/data/fix/linux/elsa-2026-500572.md) | Nov 7, 2026 |
| Linux | kernel-uek-core ol 10 | 0:6.12.0-208.112.5.el9uek | [ELSA-2026-500572](https://patchblox.com/security/data/fix/linux/elsa-2026-500572.md) | Nov 7, 2026 |
| Linux | kernel-uek-core ol 9 | 0:6.12.0-208.112.5.el9uek | [ELSA-2026-500572](https://patchblox.com/security/data/fix/linux/elsa-2026-500572.md) | Nov 7, 2026 |
| Linux | kernel-uek-debug ol 10 | 0:6.12.0-208.112.5.el9uek | [ELSA-2026-500572](https://patchblox.com/security/data/fix/linux/elsa-2026-500572.md) | Nov 7, 2026 |
| Linux | kernel-uek-debug ol 9 | 0:6.12.0-208.112.5.el9uek | [ELSA-2026-500572](https://patchblox.com/security/data/fix/linux/elsa-2026-500572.md) | Nov 7, 2026 |
| Linux | kernel-uek-debug-core ol 10 | 0:6.12.0-208.112.5.el9uek | [ELSA-2026-500572](https://patchblox.com/security/data/fix/linux/elsa-2026-500572.md) | Nov 7, 2026 |
| Linux | kernel-uek-debug-core ol 9 | 0:6.12.0-208.112.5.el9uek | [ELSA-2026-500572](https://patchblox.com/security/data/fix/linux/elsa-2026-500572.md) | Nov 7, 2026 |
| Linux | kernel-uek-debug-devel ol 10 | 0:6.12.0-208.112.5.el9uek | [ELSA-2026-500572](https://patchblox.com/security/data/fix/linux/elsa-2026-500572.md) | Nov 7, 2026 |
| Linux | kernel-uek-debug-devel ol 9 | 0:6.12.0-208.112.5.el9uek | [ELSA-2026-500572](https://patchblox.com/security/data/fix/linux/elsa-2026-500572.md) | Nov 7, 2026 |
| Linux | kernel-uek-debug-modules ol 10 | 0:6.12.0-208.112.5.el9uek | [ELSA-2026-500572](https://patchblox.com/security/data/fix/linux/elsa-2026-500572.md) | Nov 7, 2026 |
| Linux | kernel-uek-debug-modules ol 9 | 0:6.12.0-208.112.5.el9uek | [ELSA-2026-500572](https://patchblox.com/security/data/fix/linux/elsa-2026-500572.md) | Nov 7, 2026 |
| Linux | kernel-uek-debug-modules-core ol 10 | 0:6.12.0-208.112.5.el9uek | [ELSA-2026-500572](https://patchblox.com/security/data/fix/linux/elsa-2026-500572.md) | Nov 7, 2026 |
| Linux | kernel-uek-debug-modules-core ol 9 | 0:6.12.0-208.112.5.el9uek | [ELSA-2026-500572](https://patchblox.com/security/data/fix/linux/elsa-2026-500572.md) | Nov 7, 2026 |
| Linux | kernel-uek-debug-modules-deprecated ol 10 | 0:6.12.0-208.112.5.el9uek | [ELSA-2026-500572](https://patchblox.com/security/data/fix/linux/elsa-2026-500572.md) | Nov 7, 2026 |
| Linux | kernel-uek-debug-modules-deprecated ol 9 | 0:6.12.0-208.112.5.el9uek | [ELSA-2026-500572](https://patchblox.com/security/data/fix/linux/elsa-2026-500572.md) | Nov 7, 2026 |
| Linux | kernel-uek-debug-modules-desktop ol 10 | 0:6.12.0-208.112.5.el9uek | [ELSA-2026-500572](https://patchblox.com/security/data/fix/linux/elsa-2026-500572.md) | Nov 7, 2026 |
| Linux | kernel-uek-debug-modules-desktop ol 9 | 0:6.12.0-208.112.5.el9uek | [ELSA-2026-500572](https://patchblox.com/security/data/fix/linux/elsa-2026-500572.md) | Nov 7, 2026 |
| Linux | kernel-uek-debug-modules-extra ol 10 | 0:6.12.0-208.112.5.el9uek | [ELSA-2026-500572](https://patchblox.com/security/data/fix/linux/elsa-2026-500572.md) | Nov 7, 2026 |
| Linux | kernel-uek-debug-modules-extra ol 9 | 0:6.12.0-208.112.5.el9uek | [ELSA-2026-500572](https://patchblox.com/security/data/fix/linux/elsa-2026-500572.md) | Nov 7, 2026 |
| Linux | kernel-uek-debug-modules-extra-netfilter ol 10 | 0:6.12.0-208.112.5.el9uek | [ELSA-2026-500572](https://patchblox.com/security/data/fix/linux/elsa-2026-500572.md) | Nov 7, 2026 |
| Linux | kernel-uek-debug-modules-extra-netfilter ol 9 | 0:6.12.0-208.112.5.el9uek | [ELSA-2026-500572](https://patchblox.com/security/data/fix/linux/elsa-2026-500572.md) | Nov 7, 2026 |
| Linux | kernel-uek-debug-modules-usb ol 10 | 0:6.12.0-208.112.5.el9uek | [ELSA-2026-500572](https://patchblox.com/security/data/fix/linux/elsa-2026-500572.md) | Nov 7, 2026 |
| Linux | kernel-uek-debug-modules-usb ol 9 | 0:6.12.0-208.112.5.el9uek | [ELSA-2026-500572](https://patchblox.com/security/data/fix/linux/elsa-2026-500572.md) | Nov 7, 2026 |
| Linux | kernel-uek-debug-modules-wireless ol 10 | 0:6.12.0-208.112.5.el9uek | [ELSA-2026-500572](https://patchblox.com/security/data/fix/linux/elsa-2026-500572.md) | Nov 7, 2026 |
| Linux | kernel-uek-debug-modules-wireless ol 9 | 0:6.12.0-208.112.5.el9uek | [ELSA-2026-500572](https://patchblox.com/security/data/fix/linux/elsa-2026-500572.md) | Nov 7, 2026 |
| Linux | kernel-uek-devel ol 10 | 0:6.12.0-208.112.5.el9uek | [ELSA-2026-500572](https://patchblox.com/security/data/fix/linux/elsa-2026-500572.md) | Nov 7, 2026 |
| Linux | kernel-uek-devel ol 9 | 0:6.12.0-208.112.5.el9uek | [ELSA-2026-500572](https://patchblox.com/security/data/fix/linux/elsa-2026-500572.md) | Nov 7, 2026 |
| Linux | kernel-uek-doc ol 10 | 0:6.12.0-208.112.5.el9uek | [ELSA-2026-500572](https://patchblox.com/security/data/fix/linux/elsa-2026-500572.md) | Nov 7, 2026 |
| Linux | kernel-uek-doc ol 9 | 0:6.12.0-208.112.5.el9uek | [ELSA-2026-500572](https://patchblox.com/security/data/fix/linux/elsa-2026-500572.md) | Nov 7, 2026 |
| Linux | kernel-uek-modules ol 10 | 0:6.12.0-208.112.5.el9uek | [ELSA-2026-500572](https://patchblox.com/security/data/fix/linux/elsa-2026-500572.md) | Nov 7, 2026 |
| Linux | kernel-uek-modules ol 9 | 0:6.12.0-208.112.5.el9uek | [ELSA-2026-500572](https://patchblox.com/security/data/fix/linux/elsa-2026-500572.md) | Nov 7, 2026 |
| Linux | kernel-uek-modules-core ol 10 | 0:6.12.0-208.112.5.el9uek | [ELSA-2026-500572](https://patchblox.com/security/data/fix/linux/elsa-2026-500572.md) | Nov 7, 2026 |
| Linux | kernel-uek-modules-core ol 9 | 0:6.12.0-208.112.5.el9uek | [ELSA-2026-500572](https://patchblox.com/security/data/fix/linux/elsa-2026-500572.md) | Nov 7, 2026 |
| Linux | kernel-uek-modules-deprecated ol 10 | 0:6.12.0-208.112.5.el9uek | [ELSA-2026-500572](https://patchblox.com/security/data/fix/linux/elsa-2026-500572.md) | Nov 7, 2026 |
| Linux | kernel-uek-modules-deprecated ol 9 | 0:6.12.0-208.112.5.el9uek | [ELSA-2026-500572](https://patchblox.com/security/data/fix/linux/elsa-2026-500572.md) | Nov 7, 2026 |
| Linux | kernel-uek-modules-desktop ol 10 | 0:6.12.0-208.112.5.el9uek | [ELSA-2026-500572](https://patchblox.com/security/data/fix/linux/elsa-2026-500572.md) | Nov 7, 2026 |
| Linux | kernel-uek-modules-desktop ol 9 | 0:6.12.0-208.112.5.el9uek | [ELSA-2026-500572](https://patchblox.com/security/data/fix/linux/elsa-2026-500572.md) | Nov 7, 2026 |
| Linux | kernel-uek-modules-extra ol 10 | 0:6.12.0-208.112.5.el9uek | [ELSA-2026-500572](https://patchblox.com/security/data/fix/linux/elsa-2026-500572.md) | Nov 7, 2026 |
| Linux | kernel-uek-modules-extra ol 9 | 0:6.12.0-208.112.5.el9uek | [ELSA-2026-500572](https://patchblox.com/security/data/fix/linux/elsa-2026-500572.md) | Nov 7, 2026 |
| Linux | kernel-uek-modules-extra-netfilter ol 10 | 0:6.12.0-208.112.5.el9uek | [ELSA-2026-500572](https://patchblox.com/security/data/fix/linux/elsa-2026-500572.md) | Nov 7, 2026 |
| Linux | kernel-uek-modules-extra-netfilter ol 9 | 0:6.12.0-208.112.5.el9uek | [ELSA-2026-500572](https://patchblox.com/security/data/fix/linux/elsa-2026-500572.md) | Nov 7, 2026 |
| Linux | kernel-uek-modules-usb ol 10 | 0:6.12.0-208.112.5.el9uek | [ELSA-2026-500572](https://patchblox.com/security/data/fix/linux/elsa-2026-500572.md) | Nov 7, 2026 |
| Linux | kernel-uek-modules-usb ol 9 | 0:6.12.0-208.112.5.el9uek | [ELSA-2026-500572](https://patchblox.com/security/data/fix/linux/elsa-2026-500572.md) | Nov 7, 2026 |
| Linux | kernel-uek-modules-wireless ol 10 | 0:6.12.0-208.112.5.el9uek | [ELSA-2026-500572](https://patchblox.com/security/data/fix/linux/elsa-2026-500572.md) | Nov 7, 2026 |
| Linux | kernel-uek-modules-wireless ol 9 | 0:6.12.0-208.112.5.el9uek | [ELSA-2026-500572](https://patchblox.com/security/data/fix/linux/elsa-2026-500572.md) | Nov 7, 2026 |
| Linux | kernel-uek-tools ol 10 | 0:6.12.0-208.112.5.el9uek | [ELSA-2026-500572](https://patchblox.com/security/data/fix/linux/elsa-2026-500572.md) | Nov 7, 2026 |
| Linux | kernel-uek-tools ol 9 | 0:6.12.0-208.112.5.el9uek | [ELSA-2026-500572](https://patchblox.com/security/data/fix/linux/elsa-2026-500572.md) | Nov 7, 2026 |
| Linux | kernel-uek64k ol 10 | 0:6.12.0-208.112.5.el9uek | [ELSA-2026-500572](https://patchblox.com/security/data/fix/linux/elsa-2026-500572.md) | Nov 7, 2026 |
| Linux | kernel-uek64k ol 9 | 0:6.12.0-208.112.5.el9uek | [ELSA-2026-500572](https://patchblox.com/security/data/fix/linux/elsa-2026-500572.md) | Nov 7, 2026 |
| Linux | kernel-uek64k-core ol 10 | 0:6.12.0-208.112.5.el9uek | [ELSA-2026-500572](https://patchblox.com/security/data/fix/linux/elsa-2026-500572.md) | Nov 7, 2026 |
| Linux | kernel-uek64k-core ol 9 | 0:6.12.0-208.112.5.el9uek | [ELSA-2026-500572](https://patchblox.com/security/data/fix/linux/elsa-2026-500572.md) | Nov 7, 2026 |
| Linux | kernel-uek64k-devel ol 10 | 0:6.12.0-208.112.5.el9uek | [ELSA-2026-500572](https://patchblox.com/security/data/fix/linux/elsa-2026-500572.md) | Nov 7, 2026 |
| Linux | kernel-uek64k-devel ol 9 | 0:6.12.0-208.112.5.el9uek | [ELSA-2026-500572](https://patchblox.com/security/data/fix/linux/elsa-2026-500572.md) | Nov 7, 2026 |
| Linux | kernel-uek64k-modules ol 10 | 0:6.12.0-208.112.5.el9uek | [ELSA-2026-500572](https://patchblox.com/security/data/fix/linux/elsa-2026-500572.md) | Nov 7, 2026 |
| Linux | kernel-uek64k-modules ol 9 | 0:6.12.0-208.112.5.el9uek | [ELSA-2026-500572](https://patchblox.com/security/data/fix/linux/elsa-2026-500572.md) | Nov 7, 2026 |
| Linux | kernel-uek64k-modules-core ol 10 | 0:6.12.0-208.112.5.el9uek | [ELSA-2026-500572](https://patchblox.com/security/data/fix/linux/elsa-2026-500572.md) | Nov 7, 2026 |
| Linux | kernel-uek64k-modules-core ol 9 | 0:6.12.0-208.112.5.el9uek | [ELSA-2026-500572](https://patchblox.com/security/data/fix/linux/elsa-2026-500572.md) | Nov 7, 2026 |
| Linux | kernel-uek64k-modules-deprecated ol 10 | 0:6.12.0-208.112.5.el9uek | [ELSA-2026-500572](https://patchblox.com/security/data/fix/linux/elsa-2026-500572.md) | Nov 7, 2026 |
| Linux | kernel-uek64k-modules-deprecated ol 9 | 0:6.12.0-208.112.5.el9uek | [ELSA-2026-500572](https://patchblox.com/security/data/fix/linux/elsa-2026-500572.md) | Nov 7, 2026 |
| Linux | kernel-uek64k-modules-desktop ol 10 | 0:6.12.0-208.112.5.el9uek | [ELSA-2026-500572](https://patchblox.com/security/data/fix/linux/elsa-2026-500572.md) | Nov 7, 2026 |
| Linux | kernel-uek64k-modules-desktop ol 9 | 0:6.12.0-208.112.5.el9uek | [ELSA-2026-500572](https://patchblox.com/security/data/fix/linux/elsa-2026-500572.md) | Nov 7, 2026 |
| Linux | kernel-uek64k-modules-extra ol 10 | 0:6.12.0-208.112.5.el9uek | [ELSA-2026-500572](https://patchblox.com/security/data/fix/linux/elsa-2026-500572.md) | Nov 7, 2026 |
| Linux | kernel-uek64k-modules-extra ol 9 | 0:6.12.0-208.112.5.el9uek | [ELSA-2026-500572](https://patchblox.com/security/data/fix/linux/elsa-2026-500572.md) | Nov 7, 2026 |
| Linux | kernel-uek64k-modules-extra-netfilter ol 10 | 0:6.12.0-208.112.5.el9uek | [ELSA-2026-500572](https://patchblox.com/security/data/fix/linux/elsa-2026-500572.md) | Nov 7, 2026 |
| Linux | kernel-uek64k-modules-extra-netfilter ol 9 | 0:6.12.0-208.112.5.el9uek | [ELSA-2026-500572](https://patchblox.com/security/data/fix/linux/elsa-2026-500572.md) | Nov 7, 2026 |
| Linux | kernel-uek64k-modules-usb ol 10 | 0:6.12.0-208.112.5.el9uek | [ELSA-2026-500572](https://patchblox.com/security/data/fix/linux/elsa-2026-500572.md) | Nov 7, 2026 |
| Linux | kernel-uek64k-modules-usb ol 9 | 0:6.12.0-208.112.5.el9uek | [ELSA-2026-500572](https://patchblox.com/security/data/fix/linux/elsa-2026-500572.md) | Nov 7, 2026 |
| Linux | kernel-uek64k-modules-wireless ol 10 | 0:6.12.0-208.112.5.el9uek | [ELSA-2026-500572](https://patchblox.com/security/data/fix/linux/elsa-2026-500572.md) | Nov 7, 2026 |
| Linux | kernel-uek64k-modules-wireless ol 9 | 0:6.12.0-208.112.5.el9uek | [ELSA-2026-500572](https://patchblox.com/security/data/fix/linux/elsa-2026-500572.md) | Nov 7, 2026 |
| Linux | linux Debian 13.5 (trixie) | 6.12.113-1 | [DEBIAN-CVE-2026-98254](https://patchblox.com/security/data/fix/linux/debian-cve-2026-98254.md) | Oct 6, 2026 |
| Linux | linux Debian 14 | 7.2.8-1 | [DEBIAN-CVE-2026-98254](https://patchblox.com/security/data/fix/linux/debian-cve-2026-98254.md) | Oct 6, 2026 |
| Linux | linux-6.12 Debian 12.15 (bookworm) | 6.12.113-1~deb12u1 | [DEBIAN-CVE-2026-98254](https://patchblox.com/security/data/fix/linux/debian-cve-2026-98254.md) | Oct 6, 2026 |

---

Data as of 2026-11-08T13:06:02Z UTC. Source: Patchblox Patch Radar (https://patchblox.com/security/patch-radar). Patchblox finds out-of-date software on Windows, macOS and Linux and updates it through release rings: https://patchblox.com/demo

Free to use with attribution: show "Data: Patchblox Patch Radar" with a link to https://patchblox.com/security/patch-radar. Terms, including what needs a written agreement: https://patchblox.com/security/patch-radar/use-the-data

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.
