nilfs2:修复日志写入功能错误路径中的状态管理(CVE-2024-47669)

admin 2024-10-10 20:41:26 Ali_nvd 来源:ZONE.CI 全球网 0 阅读模式
nilfs2:修复日志写入功能错误路径中的状态管理(CVE-2024-47669)

CVE编号

CVE-2024-47669

利用情况

暂无

补丁情况

N/A

披露时间

2024-10-09
漏洞描述
在Linux内核中,已经解决了以下漏洞:nilfs2:修复日志写入函数错误路径中的状态管理在提交a694291a6211(“nilfs2:将wait函数从nilfs_segctor_write中分离”)之后,即使用户数据块被分割成多个日志跨段,日志写入函数nilfs_segctor_do_construct()仍然能够连续发出I/O请求,但其在错误处理中引入了两个潜在的缺陷。首先,如果在创建第二个或后续日志时,nilfs_segctor_begin_construction()失败,日志写入函数不会调用nilfs_segctor_abort_construction()就直接返回,因此页面/叶片的写回标志将保持未清除状态。这会导致页面缓存操作等待写回标志。例如,当内存中的inode通过nilfs_evict_inode()被逐出时,调用的truncate_inode_pages_final()会卡住。其次,正常inode上设置的NILFS_I_COLLECTED标志保持未清除。因此,如果下一次日志写入涉及检查点创建,那没问题;但如果执行的是部分日志写入并不涉及检查点创建,那么带有NILFS_I_COLLECTED设置的inode会被错误地从“sc_dirty_files”列表中移除,它们的数据和b树块可能不会被写入设备,从而损坏块映射。通过统一在nilfs_segctor_do_construct()循环中的每个步骤失败时调用nilfs_segctor_abort_construction(),让其根据进度清理日志和段使用,并修正调用nilfs_redirty_inodes()的条件以确保清除NILFS_I_COLLECTED标志,来解决这些问题。
解决建议
建议您更新当前系统或软件至最新版,完成漏洞的修复。
参考链接
https://git.kernel.org/stable/c/036441e8438b29111fa75008f0ce305fb4e83c0a
https://git.kernel.org/stable/c/0a1a961bde4351dc047ffdeb2f1311ca16a700cc
https://git.kernel.org/stable/c/30562eff4a6dd35c4b5be9699ef61ad9f5f20a06
https://git.kernel.org/stable/c/3e349d7191f0688fc9808ef24fd4e4b4ef5ca876
https://git.kernel.org/stable/c/40a2757de2c376ef8a08d9ee9c81e77f3c750adf
https://git.kernel.org/stable/c/6576dd6695f2afca3f4954029ac4a64f82ba60ab
https://git.kernel.org/stable/c/74866c16ea2183f52925fa5d76061a1fe7f7737b
https://git.kernel.org/stable/c/efdde00d4a1ef10bb71e09ebc67823a3d3ad725b
CVSS3评分 N/A
  • 攻击路径 N/A
  • 攻击复杂度 N/A
  • 权限要求 N/A
  • 影响范围 N/A
  • 用户交互 N/A
  • 可用性 N/A
  • 保密性 N/A
  • 完整性 N/A
N/A
CWE-ID 漏洞类型
- avd.aliyun.com
weinxin
版权声明
本站原创文章转载请注明文章出处及链接,谢谢合作!
评论:0   参与:  0