netfilter:修复 get_info() 中的 use-after-free 问题(CVE-2024-50257)

admin 2024-11-10 18:40:10 Ali_nvd 来源:ZONE.CI 全球网 0 阅读模式
netfilter:修复 get_info() 中的 use-after-free 问题(CVE-2024-50257)

CVE编号

CVE-2024-50257

利用情况

暂无

补丁情况

N/A

披露时间

2024-11-09
漏洞描述
在Linux内核中,存在一个漏洞已经被修复,具体描述如下:该漏洞存在于netfilter模块中,涉及到一个使用后的释放问题(use-after-free)出现在get_info()函数中。当ip6table_nat模块卸载时,由于引用计数(refcnt)警告导致未定义引用(UAF)。警告信息如下:警告发生在CPU 1上,进程ID为379,位于kernel/module/main.c文件的第853行,调用函数为module_put+0x6f/0x80。同时加载的模块包括ip6table_nat(-表示正在被卸载)。在调用堆栈跟踪中,可以看到get_info()函数与模块卸载操作并发执行触发了警告。根本原因是在模块退出时(module_exit),ip6table_nat模块也在退出(ip6table_nat_exit)。在xt_unregister_template函数中,模板表(t)被释放(kfree(t)),并从模板列表中移除。然而,在此之后,getinfo()函数试图查找并获取表(t)的引用计数(refcnt)。由于表(t)已经被释放并从模板列表中移除,因此无法获取其引用计数,导致未定义引用(UAF)。为了解决这个问题,需要检查xt_net->tables列表中的模块重新遍历过程,确保在模块卸载过程中正确处理引用计数,避免使用已经释放的资源。修复方案涉及对代码进行调整,以确保在模块卸载时正确地处理相关资源和引用计数,以避免潜在的内存访问错误和漏洞风险。
解决建议
建议您更新当前系统或软件至最新版,完成漏洞的修复。
参考链接
https://git.kernel.org/stable/c/6a1f088f9807f5166f58902d26246d0b88da03a8
https://git.kernel.org/stable/c/ba22ea01348384df19cc1fabc7964be6e7189749
https://git.kernel.org/stable/c/bab3bb35c03b263c486833d50d50c081d9e9832b
https://git.kernel.org/stable/c/cb7c388b5967946f097afdb759b7c860305f2d96
https://git.kernel.org/stable/c/f48d258f0ac540f00fa617dac496c4c18b5dc2fa
受影响软件情况
# 类型 厂商 产品 版本 影响面
1
运行在以下环境
系统 debian_11 linux * Up to (excluding) 5.10.226-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