CVE-2025-21687: Linux kernel · vfio/platform: check the bounds of read/write syscalls
Source GCVE Database
Not known to be exploited · CVSS 7.8 High.
Data as of 30 Oct 2026, 01:10 UTC
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:HExploitation evidence
Disclosed: evidence found.
CVE published 10 Feb 2025
Detectable: no evidence on record.
No public nuclei template indexed
Weaponized: no evidence on record.
No public exploit code indexed in Metasploit or Exploit-DB
Exploited in the wildExploited: no evidence on record.
Not in CISA KEV and no source reports exploitation
Observed by OffSeq MirageSeen by 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 29 Oct 2026.
What to do
AI-suggested
Until a fix is available, avoid exposing vulnerable kernel interfaces to untrusted users and limit access to vfio/platform devices to trusted users only.
Description
CVE-2025-21687 is a high-severity vulnerability in the Linux kernel's vfio/platform component. It involves insufficient bounds checking on read and write syscalls where user-supplied count and offset parameters are not properly validated. Although the offset is capped to 40 bits, this flaw allows out-of-bounds read and write operations on the device, potentially leading to confidentiality, integrity, and availability impacts.
References
- nvd.nist.gov/vuln/detail/CVE-2025-21687 (opens in a new tab)
- lists.debian.org/debian-lts-announce/2025/03/msg00002.html (opens in a new tab)
- lists.debian.org/debian-lts-announce/2025/03/msg00001.html (opens in a new tab)
- git.kernel.org/stable/c/f65ce06387f8c1fb54bd59e18a8428248ec68eaf (opens in a new tab)
- git.kernel.org/stable/c/f21636f24b6786c8b13f1af4319fa75ffcf17f38 (opens in a new tab)
- git.kernel.org/stable/c/ed81d82bb6e9df3a137f2c343ed689e6c68268ef (opens in a new tab)
- git.kernel.org/stable/c/d19a8650fd3d7aed8d1af1d9a77f979a8430eba1 (opens in a new tab)
- git.kernel.org/stable/c/ce9ff21ea89d191e477a02ad7eabf4f996b80a69 (opens in a new tab)
- git.kernel.org/stable/c/c981c32c38af80737a2fedc16e270546d139ccdd (opens in a new tab)
- git.kernel.org/stable/c/a20fcaa230f7472456d12cf761ed13938e320ac3 (opens in a new tab)
- git.kernel.org/stable/c/9377cdc118cf327248f1a9dde7b87de067681dc9 (opens in a new tab)
- git.kernel.org/stable/c/92340e6c5122d823ad064984ef7513eba9204048 (opens in a new tab)
- git.kernel.org/stable/c/6bcb8a5b70b80143db9bf12dfa7d53636f824d53 (opens in a new tab)
- git.kernel.org/stable/c/665cfd1083866f87301bbd232cb8ba48dcf4acce (opens in a new tab)
- git.kernel.org/stable/c/61ba518195d61c38c6cb86f83135e51f93735442 (opens in a new tab)
- git.kernel.org/stable/c/198090eb6f5f094cf3a268c3c30ef1e9c84a6dbe (opens in a new tab)
- git.kernel.org/stable/c/1485932496a1b025235af8aa1e21988d6b7ccd54 (opens in a new tab)
- git.kernel.org/stable/c/03844b1908114680ca35fa0a0aba3d906a6d78af (opens in a new tab)