CVE-2025-39792dm: Always split write BIOs to zoned device limits
- 7.8HighCVSS base score
- 0.17%Exploitation in 30 daysEPSS · top 94% of all CVEs
- NoKnown exploitednot in CISA's KEV catalog
- NonePublic exploitsnone known yet
Description
In the Linux kernel, the following vulnerability has been resolved: dm: Always split write BIOs to zoned device limits Any zoned DM target that requires zone append emulation will use the block layer zone write plugging. In such case, DM target drivers must not split BIOs using dm_accept_partial_bio() as doing so can potentially lead to deadlocks with queue freeze operations. Regular write operations used to emulate zone append operations also cannot be split by the target driver as that would result in an invalid writen sector value return using the BIO sector. In order for zoned DM target drivers to avoid such incorrect BIO splitting, we must ensure that large BIOs are split before being passed to the map() function of the target, thus guaranteeing that the limits for the mapped device are not exceeded. dm-crypt and dm-flakey are the only target drivers supporting zoned devices and using dm_accept_partial_bio(). In the case of dm-crypt, this function is used to split BIOs to the internal max_write_size limit (which will be suppressed in a different patch). However, since crypt_alloc_buffer() uses a bioset allowing only up to BIO_MAX_VECS (256) vectors in a BIO. The dm-crypt device max_segments limit, which is not set and so default to BLK_MAX_SEGMENTS (128), must thus be respected and write BIOs split accordingly. In the case of dm-flakey, since zone append emulation is not required, the block layer zone write plugging is not used and no splitting of BIOs required. Modify the function dm_zone_bio_needs_split() to use the block layer helper function bio_needs_zone_write_plugging() to force a call to bio_split_to_limits() in dm_split_and_process_bio(). This allows DM target drivers to avoid using dm_accept_partial_bio() for write operations on zoned DM devices.
Timeline
ID reserved
By Linux
- 5 months later
· 5 months later
Published
- 13 months later
· 13 months later
Record updated
Changes after publication (a new score, a public exploit, EPSS crossing 1, 10 or 50 %, leaving KEV) are kept since November 2026; earlier ones are not known.
Scores
| Scored by | CVSS | Score | Vector |
|---|---|---|---|
| LinuxCNA (assigner) | 3.1 | High7.8 | CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H |
| NVDNVD · Modified | 3.1 | Medium5.5 | CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H |
- EPSS (exploitation in 30 days)
- 0.17% · top 94% of all CVEs (14 Nov 2026)
- CISA SSVC
- Exploitation: none · Automatable: no · Technical impact: total
The list uses the assigner's score when there is one, then CISA's, then NVD's: High 7.8.
Affected products
- affected f211268ed1f9bdf48f06a3ead5f5d88437450579 – < d10bf66d9f9335ffc7521b3029b114f50604cabe
- affected f211268ed1f9bdf48f06a3ead5f5d88437450579 – < f5dd256333c08ab44b5aec4a8118cb04c0f20c54
- affected f211268ed1f9bdf48f06a3ead5f5d88437450579 – < 4e9fef1cf0243d665d75c371cc80be6156cd30a2
- affected f211268ed1f9bdf48f06a3ead5f5d88437450579 – < 2df7168717b7d2d32bcf017c68be16e4aae9dd13
- affected 6.10
- unaffected < 6.10
- unaffected 6.12.43 – ≤ 6.12.*
- unaffected 6.15.11 – ≤ 6.15.*
- unaffected 6.16.2 – ≤ 6.16.*
- unaffected 6.17 – ≤ *
References
References4
- https://git.kernel.org/stable/c/d10bf66d9f9335ffc7521b3029b114f50604cabe (opens in a new tab)
- https://git.kernel.org/stable/c/f5dd256333c08ab44b5aec4a8118cb04c0f20c54 (opens in a new tab)
- https://git.kernel.org/stable/c/4e9fef1cf0243d665d75c371cc80be6156cd30a2 (opens in a new tab)
- https://git.kernel.org/stable/c/2df7168717b7d2d32bcf017c68be16e4aae9dd13 (opens in a new tab)
Sources
The same CVE in the primary databases and aggregators, to check against.
- CVE.org record (opens in a new tab)
- CVE List JSON (GitHub) (opens in a new tab)
- NVD (opens in a new tab)
- FIRST EPSS (opens in a new tab)
- EUVD EUVD-2025-29062 (opens in a new tab)
- OSV.dev (opens in a new tab)
- GitHub Advisories (opens in a new tab)
- CIRCL Vulnerability-Lookup (opens in a new tab)
Badge for a README or a ticket
[](https://cveledger.app/cve/CVE-2025-39792)Record last updated .