CVE-2026-43278
Gravedad:
Pendiente de análisis
Tipo:
No Disponible / Otro tipo
Fecha de publicación:
06/05/2026
Última modificación:
06/05/2026
Descripción
*** Pendiente de traducción *** In the Linux kernel, the following vulnerability has been resolved:<br />
<br />
dm: clear cloned request bio pointer when last clone bio completes<br />
<br />
Stale rq->bio values have been observed to cause double-initialization of<br />
cloned bios in request-based device-mapper targets, leading to<br />
use-after-free and double-free scenarios.<br />
<br />
One such case occurs when using dm-multipath on top of a PCIe NVMe<br />
namespace, where cloned request bios are freed during<br />
blk_complete_request(), but rq->bio is left intact. Subsequent clone<br />
teardown then attempts to free the same bios again via<br />
blk_rq_unprep_clone().<br />
<br />
The resulting double-free path looks like:<br />
<br />
nvme_pci_complete_batch()<br />
nvme_complete_batch()<br />
blk_mq_end_request_batch()<br />
blk_complete_request() // called on a DM clone request<br />
bio_endio() // first free of all clone bios<br />
...<br />
rq->end_io() // end_clone_request()<br />
dm_complete_request(tio->orig)<br />
dm_softirq_done()<br />
dm_done()<br />
dm_end_request()<br />
blk_rq_unprep_clone() // second free of clone bios<br />
<br />
Fix this by clearing the clone request&#39;s bio pointer when the last cloned<br />
bio completes, ensuring that later teardown paths do not attempt to free<br />
already-released bios.
Impacto
Referencias a soluciones, herramientas e información
- https://git.kernel.org/stable/c/3d746b639be4b4f5cd8ce2b06aa52dc443f50edc
- https://git.kernel.org/stable/c/7daf279c674d515fb22a727a7bbc92aeb35c5442
- https://git.kernel.org/stable/c/83d72091804600ead96dc9e9f518ea56cb4942f6
- https://git.kernel.org/stable/c/8d9ddad561136f7e6a9346767bf97b4d79e38e67
- https://git.kernel.org/stable/c/9a95b98202113045bc1a5bcb30388a500f25e050
- https://git.kernel.org/stable/c/b1c1a2637ebd675aa2d71fee8c70da8791d73850
- https://git.kernel.org/stable/c/e2e738e8dfbbf83bd2bae0467ec4420cc52da42a
- https://git.kernel.org/stable/c/fb8a6c18fb9a6561f7a15b58b272442b77a242dd



