CVE-2025-38708Critical· 9.8▾ MidnightIn 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…
▾ Midnight zone — Critical, or high with PoC / in-the-wild
impact 53.9 · likelihood 0.1 · exploitation 0
Need a working PoC? Pro members can cast a request and our team develops one — it lands right here.
Exploit-prediction probability, daily snapshots since Oct 15.
Disclosure to exploitation, from the record and what we observed since indexing it.
Disclosed via CVEORG
Last analysed / modified upstream
0.4%
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.
Linux >= 668700b40a7c8727bbd2b3fd4fd22e0ce3f1aeb6 < 0336bfe9c237476bd7c45605a36ca79c2bca62e5Linux >= 668700b40a7c8727bbd2b3fd4fd22e0ce3f1aeb6 < 810cd546a29bfac90ed1328ea01d693d4bd11cb1Linux >= 668700b40a7c8727bbd2b3fd4fd22e0ce3f1aeb6 < 84ef8dd3238330d1795745ece83b19f0295751bfLinux >= 668700b40a7c8727bbd2b3fd4fd22e0ce3f1aeb6 < 57418de35420cedab035aa1da8a26c0499b7f575Linux >= 668700b40a7c8727bbd2b3fd4fd22e0ce3f1aeb6 < 9f53b2433ad248cd3342cc345f56f5c7904bd8c4Linux >= 668700b40a7c8727bbd2b3fd4fd22e0ce3f1aeb6 < 7d483ad300fc0a06f69b019dda8f74970714baf8Linux >= 668700b40a7c8727bbd2b3fd4fd22e0ce3f1aeb6 < 46e3763dcae0ffcf8fcfaff4fc10a90a92ffdd89Linux >= 668700b40a7c8727bbd2b3fd4fd22e0ce3f1aeb6 < 3a896498f6f577e57bf26aaa93b48c22b6d20c20Linux >= 668700b40a7c8727bbd2b3fd4fd22e0ce3f1aeb6 < 00c9c9628b49e368d140cfa61d7df9b8922ec2a8Linux 4.5Refer to the linked advisories for vendor-supplied fixes and affected version ranges.
Connected by shared product, vendor, weakness, or advisory.
CVE-2026-99118Nonedrm/i915/dmc: Harden DMC firmware payload parsing
CVE-2026-99117Nonenet: bridge: mcast: don't truncate the port group walk on teardown
CVE-2026-99121Noneipv4: avoid divide by zero in fib_rebalance
CVE-2026-99120NoneKVM: x86/mmu: Cope with the SS bit being set in #NPF exit codes
CVE-2026-99119Nonedrm/amdgpu/userq: actually validate userq BOs
CVE-2026-99123Nonevsock/virtio: validate packet source for connected sockets