lib:alloc_tag_module_unload 必须等待待处理的 kfree_rcu 调用(CVE-2024-50212)

admin 2024-11-10 18:58:41 Ali_nvd 来源:ZONE.CI 全球网 0 阅读模式
lib:alloc_tag_module_unload 必须等待待处理的 kfree_rcu 调用(CVE-2024-50212)

CVE编号

CVE-2024-50212

利用情况

暂无

补丁情况

N/A

披露时间

2024-11-09
漏洞描述
在Linux内核中,已经解决了一个关于模块卸载时的内存泄漏问题。具体描述如下:问题出现在lib中的alloc_tag模块卸载函数(alloc_tag_module_unload)。当nf_nat模块退出时,它会调用kfree_rcu来释放内存。然而,当alloc_tag检查内存泄漏时,这个释放操作可能还在进行中。因此,会出现警告信息,表明可能存在内存泄漏。问题描述的具体信息如下:在net/netfilter/nf_nat_core.c文件的第1114行,模块nf_nat的函数nf_nat_register_fn在模块卸载时分配了256个内存块。当尝试卸载nf_nat模块时,会触发警告信息。警告信息指出CPU 1上的进程ID为10421的alloc_tag.c文件的第168行存在问题。具体来说,alloc_tag_module_unload函数中的某些操作可能仍在执行,导致内存尚未完全释放。因此,在检查内存泄漏时会出现警告。为了解决这个问题,需要在检查内存泄漏之前等待所有待处理的kfree_rcu操作完成。这样就可以消除这个警告信息。问题的复现步骤如下:首先执行unshare命令和iptables命令来设置一些网络相关的配置,然后移除nft_chain_nat和nf_nat模块,此时就会出现警告信息。为了解决此问题,需要等待所有待处理的kfree_rcu操作完成后再进行内存泄漏检查。这样可以确保内核在模块卸载时正确地释放所有已分配的内存,从而避免内存泄漏问题。
解决建议
"将组件 Linux 升级至 6.10 及以上版本"
参考链接
https://git.kernel.org/stable/c/24211fb49c9ac1b576470b7e393a5a0b50af2707
https://git.kernel.org/stable/c/dc783ba4b9df3fb3e76e968b2cbeb9960069263c
受影响软件情况
# 类型 厂商 产品 版本 影响面
1
运行在以下环境
系统 debian_11 linux * Up to (excluding) 5.10.226-1
运行在以下环境
系统 debian_12 linux * Up to (excluding) 6.1.115-1
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