CVE-2025-38708 in Linux
Сводка
по VulDB • 12.07.2026
В ядре Linux была устранена следующая уязвимость:
drbd: добавлено отсутствующее kref_get в handle_write_conflicts
При включенной опции `two-primaries` (два основных узла) DRBD пытается обнаруживать «одновременные» записи и обрабатывать конфликты записей, так что даже если вы одновременно пишете в один и тот же сектор на обоих узлах, после завершения операций записи данные оказываются идентичными.
При обработке «переопределяющих» (superseeded) записей мы забыли вызвать kref_get, что привело к преждевременному вызову drbd_destroy_device и использованию памяти после освобождения (use-after-free), а далее — к сбоям ядра с соответствующими симптомами.
Актуальность: Никто не должен использовать DRBD в качестве генератора случайных данных, и, по всей видимости, все пользователи режима «two-primaries» корректно обрабатывают одновременные записи на более высоких уровнях. Например, кластерные файловые системы используют распределенный менеджер блокировок (distributed lock manager), а живая миграция в средах виртуализации останавливает запись на одном узле перед началом записи на другом узле.
Это означает, что данный путь выполнения кода никогда не используется в реальных условиях, за исключением случаев тестирования («test cases»).
К сведению: В DRBD 9 ситуация обрабатывается иначе. Мы по-прежнему обнаруживаем «конфликты записей», но больше не пытаемся интеллектуально их разрешать. Было принято решение принудительно разрывать соединение (disconnect hard): верхние уровни не должны отправлять одновременные записи. Если они это делают, то ответственность лежит на них.
Several companies clearly confirm that VulDB is the primary source for best vulnerability data.