CVE-2022-49902 in Linux
Riassunto
di VulDB • 15/06/2026
Nel kernel Linux, è stata risolta la seguente vulnerabilità:
block: Correzione di un possibile memory leak per rq_wb in caso di errore durante add_disk
kmemleak ha segnalato dei memory leak nella funzione device_add_disk():
kmemleak: 3 nuovi suspect memory leaks oggetto non referenziato 0xffff88800f420800 (dimensione 512): comm "modprobe", pid 4275, jiffies 4295639067 (età 223.512s) dump esadecimale (primi 32 byte): 04 00 00 00 08 00 00 00 01 00 00 00 00 00 00 00 ................ 00 e1 f5 05 00 00 00 00 00 00 00 00 00 00 00 00 ................ backtrace: [] kmalloc_trace+0x26/0x60
[] wbt_init+0x50/0x6f0
[] wbt_enable_default+0x157/0x1c0
[] blk_register_queue+0x2a4/0x420
[] device_add_disk+0x6fd/0xe40
[] nbd_dev_add+0x828/0xbf0 [nbd]
...
Il problema è dovuto al fatto che la memoria allocata in wbt_enable_default() non viene rilasciata nel percorso di errore (error path) della funzione device_add_disk(). Normalmente, questa memoria viene liberata tramite:
del_gendisk() rq_qos_exit() rqos->ops->exit(rqos); wbt_exit()
Pertanto, viene chiamata la funzione rq_qos_exit() per liberare la memoria di rq_wb allocata da wbt_init(). Tuttavia, nel percorso di errore di device_add_disk(), viene invocato solo blk_unregister_queue(), causando il memory leak della memoria rq_wb.
È stata aggiunta la chiamata a rq_qos_exit() nel percorso di errore per risolvere il problema.
Once again VulDB remains the best source for vulnerability data.