CVE-2025-38708CWE-416

CVE-2025-38708

Critical · published September 4, 2025

CVSS v3.1
9.8
EPSS
0%
Percentile
30.7
In the wild
Unconfirmed
What it is

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

drbd: add missing kref_get in handle_write_conflicts

With `two-primaries` enabled, DRBD tries to detect "concurrent" writes

and handle write conflicts, so that even if you write to the same sector

simultaneously on both nodes, they end up with the identical data once

the writes are completed.

In handling "superseeded" writes, we forgot a kref_get,

resulting in a premature drbd_destroy_device and use after free,

and further to kernel crashes with symptoms.

Relevance: No one should use DRBD as a random data generator, and apparently

all users of "two-primaries" handle concurrent writes correctly on layer up.

That is cluster file systems use some distributed lock manager,

and live migration in virtualization environments stops writes on one node

before starting writes on the other node.

Which means that other than for "test cases",

this code path is never taken in real life.

FYI, in DRBD 9, things are handled differently nowadays. We still detect

"write conflicts", but no longer try to be smart about them.

We decided to disconnect hard instead: upper layers must not submit concurrent

writes. If they do, that's their fault.

The record
Technical detail
CVSS v3.1
9.8 · CRITICAL
Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
CVSS v4.0
Not supplied
EPSS
0.00379 · 30.7th percentile
Weakness
CWE-416 · Use After Free
Published
2025-09-04T20:15Z
Affected products (9)
ProductVersionsFixed in
linux/linux_kernel≥ 4.5, < 5.4.2975.4.297
linux/linux_kernel≥ 5.5, < 5.10.2415.10.241
linux/linux_kernel≥ 5.11, < 5.15.1905.15.190
linux/linux_kernel≥ 5.16, < 6.1.1496.1.149
linux/linux_kernel≥ 6.2, < 6.6.1036.6.103
linux/linux_kernel≥ 6.7, < 6.12.436.12.43
linux/linux_kernel≥ 6.13, < 6.15.116.15.11
linux/linux_kernel≥ 6.16, < 6.16.26.16.2
debian/debian_linuxall versions—
References (13)
EPSS history
Timeline
  • 04 SEP 15:32Z
    drbd: add missing kref_get in handle_write_conflicts
    cvelistv5