Skip to main content
VulnerabilityPublished Updated

CVE-2025-38595: Linux kernel · xen: fix UAF in dmabuf_exp_from_pages()

Source GCVE Database

0
Compare
Authoritative record:CVE-2025-38595· High 7.8

Not known to be exploited · CVSS 7.8 High · fixed in e5907885260401bba300d4d18d79875c05b82651 : patch Linux kernel soon.

Data as of 30 Oct 2026, 16:33 UTC

CVSS 3.1 base score
7.8High
How severe the flaw is on the 0–10 CVSS scale.

Thin evidence

One scorer or none
CVSS scores by source
CNA (Linux)CVSS 3.17.8
Patch
Available – fixed in e5907885260401bba300d4d18d79875c05b82651, d59d49af4aeed9a81e673e37c26c6a3bacf1a181, ba8bc644f168509c16d48444991de7cfea3f12ec +3
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H

Exploitation evidence

  1. Disclosed: evidence found.

    CVE published 19 Aug 2025

  2. Detectable: no evidence on record.

    No public nuclei template indexed

  3. Weaponized: no evidence on record.

    No public exploit code indexed in Metasploit or Exploit-DB

  4. Exploited in the wild: no evidence on record.

    Not in CISA KEV and no source reports exploitation

  5. Observed by OffSeq Mirage: no evidence on record.

    No attack traffic recorded by OffSeq Mirage sensors

A missing step is not evidence of safety. Sources: cve.org (opens in a new tab), the Metasploit, Exploit-DB and nuclei-templates index as of 30 Oct 2026.

What to do

Upgrade to a fixed release listed under Affected software.

Affected software

ProductAffectedFixed in
LinuxLinuxAffected
  • ≥ a240d6e42e28c34fdc34b3a98ca838a31c939901, < e5907885260401bba300d4d18d79875c05b82651
Fixed in
  • e5907885260401bba300d4d18d79875c05b82651
LinuxLinuxAffected
  • ≥ a240d6e42e28c34fdc34b3a98ca838a31c939901, < d59d49af4aeed9a81e673e37c26c6a3bacf1a181
Fixed in
  • d59d49af4aeed9a81e673e37c26c6a3bacf1a181
LinuxLinuxAffected
  • ≥ a240d6e42e28c34fdc34b3a98ca838a31c939901, < ba8bc644f168509c16d48444991de7cfea3f12ec
Fixed in
  • ba8bc644f168509c16d48444991de7cfea3f12ec
LinuxLinuxAffected
  • ≥ a240d6e42e28c34fdc34b3a98ca838a31c939901, < 532c8b51b3a8676cbf533a291f8156774f30ea87
Fixed in
  • 532c8b51b3a8676cbf533a291f8156774f30ea87
LinuxLinuxAffected
  • ≥ a240d6e42e28c34fdc34b3a98ca838a31c939901, < 3edfd2353f301bfffd5ee41066e37320a59ccc2d
Fixed in
  • 3edfd2353f301bfffd5ee41066e37320a59ccc2d
LinuxLinuxAffected
  • ≥ a240d6e42e28c34fdc34b3a98ca838a31c939901, < 2be49867e68abbeb52d7f5d15eb1216154e2c0a0
Fixed in
  • 2be49867e68abbeb52d7f5d15eb1216154e2c0a0

Description

In the Linux kernel, the following vulnerability has been resolved: xen: fix UAF in dmabuf_exp_from_pages() [dma_buf_fd() fixes; no preferences regarding the tree it goes through - up to xen folks] As soon as we'd inserted a file reference into descriptor table, another thread could close it. That's fine for the case when all we are doing is returning that descriptor to userland (it's a race, but it's a userland race and there's nothing the kernel can do about it). However, if we follow fd_install() with any kind of access to objects that would be destroyed on close (be it the struct file itself or anything destroyed by its ->release()), we have a UAF. dma_buf_fd() is a combination of reserving a descriptor and fd_install(). gntdev dmabuf_exp_from_pages() calls it and then proceeds to access the objects destroyed on close - starting with gntdev_dmabuf itself. Fix that by doing reserving descriptor before anything else and do fd_install() only when everything had been set up.

References

Community reviews

Loading reviews…