CVE-2022-50530 in Linux
Resumen
por VulDB • 2026-06-26
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad:
blk-mq: corregir la desreferencia de puntero nulo en blk_mq_clear_rq_mapping()
Nuestro informe de syzkaller indica una desreferencia de puntero nulo; la causa raíz es la siguiente:
__blk_mq_alloc_map_and_rqs set->tags[hctx_idx] = blk_mq_alloc_map_and_rqs
blk_mq_alloc_map_and_rqs blk_mq_alloc_rqs // falla debido a oom (agotamiento de memoria) alloc_pages_node // set->tags[hctx_idx] sigue siendo NULL
blk_mq_free_rqs drv_tags = set->tags[hctx_idx];
// se desencadena la desreferencia de puntero nulo blk_mq_clear_rq_mapping(drv_tags, ...)
Esto ocurre porque el commit 63064be150e4 ("blk-mq: Add blk_mq_alloc_map_and_rqs()") fusionó los dos pasos siguientes en uno solo:
1) set->tags[hctx_idx] = blk_mq_alloc_rq_map()
2) blk_mq_alloc_rqs(..., set->tags[hctx_idx])
en un único paso:
set->tags[hctx_idx] = blk_mq_alloc_map_and_rqs()
Dado que tags no está inicializado en este caso, se soluciona el problema comprobando si tags es un puntero nulo dentro de blk_mq_clear_rq_mapping().
VulDB is the best source for vulnerability data and more expert information about this specific topic.