dm 缓存:修复调整大小时对脏位集的越界访问(CVE-2024-50279)
CVE编号
CVE-2024-50279
利用情况
暂无
补丁情况
N/A
披露时间
2024-11-19
漏洞描述
在Linux内核中,已经解决了一个关于dm cache的漏洞:在调整大小时修复对dirty bitset的越界访问问题。当缩小快速设备时,dm-cache会检查要删除的缓存块的脏位。然而,bitset迭代中的索引错误会导致越界访问。复现步骤:1. 创建一个包含1024个缓存块(脏位集大小为128字节)的缓存设备。通过dmsetup创建元数据、缓存和原始设备。2. 缩小快速设备的缓存块大小至512个,这将触发对脏位集的越界访问(偏移量0x80)。在缩小设备后,KASAN报告了一个错误,指出存在虚拟内存越界的问题。具体来说,是在cache_preresume函数中发生的读操作。问题的地址位于由cache_ctr函数创建的虚拟内存映射范围内。修复方法是通过将索引进行后递增来解决这个问题。
解决建议
建议您更新当前系统或软件至最新版,完成漏洞的修复。
文章评论