CVE-2026-90387

CVE-2026-90387

High · published September 17, 2026

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

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

swiotlb: Preserve allocation virtual address for dynamic pools

swiotlb_alloc_tlb() can allocate from the DMA atomic pool when a decrypted

pool is needed from atomic context. With CONFIG_DMA_DIRECT_REMAP, the

atomic pool is backed by remapped virtual addresses, which are not the same

as the direct-map addresses returned by phys_to_virt().

swiotlb_init_io_tlb_pool() currently reconstructs the pool virtual address

from the physical start address. For atomic-pool backed allocations this

stores the wrong address in pool->vaddr. Later, swiotlb_free_tlb() passes

that address to dma_free_from_pool(), which will fail to recognize the

chunk

Pass the virtual address returned by the allocation path into

swiotlb_init_io_tlb_pool(), and store that address in pool->vaddr. This

keeps the pool free path using the same virtual address as the allocator.

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.00163 · 5.3th percentile
Published
2026-09-17T21:17Z
References (5)
EPSS history
Timeline
  • 19 SEP 03:55Z
    EPSS moved — → 0%
    epss
  • 17 SEP 16:09Z
    swiotlb: Preserve allocation virtual address for dynamic pools
    cvelistv5