CVE Database›Document archive›CVE-2025-38708

CVE-2025-38708

kernel: drbd: add missing kref_get in handle_write_conflicts

Loading…

Severity

Unknown

Red Hat Product Security

—

CVSS

Review impact separately from score.

Published · September 4, 2025

Updated · October 30, 2026

Description

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.

Statement

This vulnerability does not impact Red Hat Enterprise Linux as the Distributed Replicated Block Device (DRBD) subsystem is not enabled or shipped in supported Red Hat kernels. The underlying defect involves a reference-counting error during write-conflict resolution in multi-primary DRBD configurations that could cause a kernel crash via use-after-free. Because the affected driver code is not present in Red Hat Enterprise Linux releases, enterprise deployments are unaffected under standard configurations.

Mitigation

No mitigation is specified in collected source.

CVSS / CWE

CWE not specified