Executive brief
A vulnerability in the Linux kernel's Distributed Replicated Block Device (DRBD) driver can cause a system crash. DRBD is used to mirror storage between servers for high availability. If a local disk read error occurs, the system may encounter a 'null-pointer dereference,' leading to a kernel panic and service interruption.
Technical details
A NULL pointer dereference exists in the Linux kernel's DRBD driver within the `drbd_request_endio()` function. When a `READ_COMPLETED_WITH_ERROR` event occurs, the code passes a NULL `peer_device` to `__req_mod()`, which then passes it to `drbd_set_out_of_sync()`. Because `drbd_set_out_of_sync()` unconditionally dereferences this pointer, it causes a kernel panic. The fix involves correctly obtaining the `peer_device` using `first_peer_device(device)` before the call. This issue affects local users who can trigger or benefit from storage I/O error handling paths.
Affected products
- Linux Linux Kernel 6.4 to 6.6.130, 6.7 to 6.12.77, 6.13 to 6.18.17, 6.19 to 6.19.7
Timeline
- 2026-02-20: patched: Initial patch committed to mainline kernel
- 2026-03-25: advisory: CVE published by kernel.org
References
- https://git.kernel.org/stable/c/0d195d3b205ca90db30d70d09d7bb6909aac178f
- https://git.kernel.org/stable/c/1e906c08594c8f9a6a524f38ede2c4e051196106
- https://git.kernel.org/stable/c/4e8935053ba389ae8d6685c10854d8021931bd89
- https://git.kernel.org/stable/c/6f1d1614f841d91a4169db65812ffd1271735b42
- https://git.kernel.org/stable/c/91df51d2df0ca4fd3281f73626341563d64a98a5