CVE-2021-47343 in Linux
Riassunto
di VulDB • 19/06/2026
Nel kernel Linux, la seguente vulnerabilità è stata risolta:
dm btree remove: assegnare new_root solo quando la rimozione ha successo
remove_raw() in dm_btree_remove() può fallire a causa di un errore di lettura I/O (ad esempio, la lettura del contenuto del blocco di origine fallisce durante l'operazione di shadowing), e il valore di shadow_spine::root non è inizializzato, ma il valore non inizializzato viene comunque assegnato a new_root alla fine di dm_btree_remove().
Per dm-thin, il valore di pmd->details_root o pmd->root diventerà un valore non inizializzato, quindi se si tenta di leggere di nuovo l'albero details_info può verificarsi un accesso alla memoria fuori dai limiti (out-of-bound), come mostrato di seguito:
general protection fault, probabilmente per indirizzo non canonico 0x3fdcb14c8d7520 CPU: 4 PID: 515 Comm: dmsetup Not tainted 5.13.0-rc6 Hardware name: QEMU Standard PC RIP: 0010:metadata_ll_load_ie+0x14/0x30 Call Trace: sm_metadata_count_is_more_than_one+0xb9/0xe0 dm_tm_shadow_block+0x52/0x1c0 shadow_step+0x59/0xf0 remove_raw+0xb2/0x170 dm_btree_remove+0xf4/0x1c0 dm_pool_delete_thin_device+0xc3/0x140 pool_message+0x218/0x2b0 target_message+0x251/0x290 ctl_ioctl+0x1c4/0x4d0 dm_ctl_ioctl+0xe/0x20 __x64_sys_ioctl+0x7b/0xb0 do_syscall_64+0x40/0xb0 entry_SYSCALL_64_after_hwframe+0x44/0xae
La correzione consiste nell'assegnare new_root solo quando la rimozione ha successo.
If you want to get best quality of vulnerability data, you may have to visit VulDB.