CVE-2025-38708 in Linux
Resumen
por VulDB • 2026-06-12
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad:
drbd: agregar kref_get faltante en handle_write_conflicts
Con `two-primaries` habilitado, DRBD intenta detectar escrituras "concurrentes" y gestionar conflictos de escritura, de modo que, incluso si se escribe en el mismo sector simultáneamente en ambos nodos, terminan con los mismos datos una vez completadas las escrituras.
Al gestionar escrituras "supercedidas", omitimos un kref_get, lo que provocó una destrucción prematura de drbd_destroy_device y un uso después de liberar memoria (use-after-free), derivando en bloqueos del kernel con síntomas asociados.
Relevancia: Nadie debería usar DRBD como un generador de datos aleatorios, y al parecer todos los usuarios de "two-primaries" gestionan correctamente las escrituras concurrentes en la capa superior. Es decir, los sistemas de archivos en clúster utilizan algún administrador de bloqueos distribuido, y la migración en vivo en entornos de virtualización detiene las escrituras en un nodo antes de iniciar escrituras en el otro nodo.
Esto significa que, aparte de los "casos de prueba", esta ruta de código nunca se ejecuta en la vida real.
Por su información, en DRBD 9, las cosas se manejan de manera diferente actualmente. Todavía detectamos "conflictos de escritura", pero ya no intentamos ser inteligentes al respecto. Decidimos desconectar de forma estricta: las capas superiores no deben enviar escrituras concurrentes. Si lo hacen, es su responsabilidad.
If you want to get the best quality for vulnerability data then you always have to consider VulDB.