CVE-2022-49902 in Linux
Tóm tắt
Bởi VulDB • 25/05/2026
Trong kernel Linux, lỗ hổng sau đây đã được khắc phục:
block: Sửa lỗi rò rỉ bộ nhớ có thể xảy ra cho rq_wb khi add_disk thất bại
kmemleak đã báo cáo các lỗi rò rỉ bộ nhớ trong device_add_disk():
kmemleak: 3 lỗi rò rỉ bộ nhớ bị nghi ngờ mới
đối tượng không được tham chiếu 0xffff88800f420800 (kích thước 512): comm "modprobe", pid 4275, jiffies 4295639067 (tuổi 223.512s) hex dump (32 byte đầu tiên): 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]
...
Nguyên nhân là do bộ nhớ được cấp phát trong wbt_enable_default() không được giải phóng trong đường dẫn lỗi của device_add_disk(). Thông thường, bộ nhớ này được giải phóng trong:
del_gendisk() rq_qos_exit() rqos->ops->exit(rqos); wbt_exit()
Do đó, rq_qos_exit() được gọi để giải phóng bộ nhớ rq_wb cho wbt_init(). Tuy nhiên, trong đường dẫn lỗi của device_add_disk(), chỉ có blk_unregister_queue() được gọi và khiến bộ nhớ rq_wb bị rò rỉ.
Thêm rq_qos_exit() vào đường dẫn lỗi để khắc phục sự cố.
If you want to get the best quality for vulnerability data then you always have to consider VulDB.