do_sys_name_to_handle():使用 kzalloc() 修复内核信息泄漏 (CVE-2024-26901)

CVE编号

CVE-2024-26901

利用情况

暂无

补丁情况

N/A

披露时间

2024-04-17
漏洞描述
In the Linux kernel, the following vulnerability has been resolved:

do_sys_name_to_handle(): use kzalloc() to fix kernel-infoleak

syzbot identified a kernel information leak vulnerability in
do_sys_name_to_handle() and issued the following report [1].

[1]
"BUG: KMSAN: kernel-infoleak in instrument_copy_to_user include/linux/instrumented.h:114 [inline]
BUG: KMSAN: kernel-infoleak in _copy_to_user+0xbc/0x100 lib/usercopy.c:40
instrument_copy_to_user include/linux/instrumented.h:114 [inline]
_copy_to_user+0xbc/0x100 lib/usercopy.c:40
copy_to_user include/linux/uaccess.h:191 [inline]
do_sys_name_to_handle fs/fhandle.c:73 [inline]
__do_sys_name_to_handle_at fs/fhandle.c:112 [inline]
__se_sys_name_to_handle_at+0x949/0xb10 fs/fhandle.c:94
__x64_sys_name_to_handle_at+0xe4/0x140 fs/fhandle.c:94
...

Uninit was created at:
slab_post_alloc_hook+0x129/0xa70 mm/slab.h:768
slab_alloc_node mm/slub.c:3478 [inline]
__kmem_cache_alloc_node+0x5c9/0x970 mm/slub.c:3517
__do_kmalloc_node mm/slab_common.c:1006 [inline]
__kmalloc+0x121/0x3c0 mm/slab_common.c:1020
kmalloc include/linux/slab.h:604 [inline]
do_sys_name_to_handle fs/fhandle.c:39 [inline]
__do_sys_name_to_handle_at fs/fhandle.c:112 [inline]
__se_sys_name_to_handle_at+0x441/0xb10 fs/fhandle.c:94
__x64_sys_name_to_handle_at+0xe4/0x140 fs/fhandle.c:94
...

Bytes 18-19 of 20 are uninitialized
Memory access of size 20 starts at ffff888128a46380
Data copied to user address 0000000020000240"

Per Chuck Lever's suggestion, use kzalloc() instead of kmalloc() to
solve the problem.
解决建议
建议您更新当前系统或软件至最新版,完成漏洞的修复。
受影响软件情况
# 类型 厂商 产品 版本 影响面
1
运行在以下环境
系统 debian_12 linux * Up to
(excluding)
6.1.85-1
运行在以下环境
系统 linux linux_kernel * From
(including)
2.6.39
Up to
(excluding)
4.19.311
运行在以下环境
系统 linux linux_kernel * From
(including)
4.20
Up to
(excluding)
5.4.273
运行在以下环境
系统 linux linux_kernel * From
(including)
5.11
Up to
(excluding)
5.15.153
运行在以下环境
系统 linux linux_kernel * From
(including)
5.16
Up to
(excluding)
6.1.83
运行在以下环境
系统 linux linux_kernel * From
(including)
5.5
Up to
(excluding)
5.10.214
运行在以下环境
系统 linux linux_kernel * From
(including)
6.2
Up to
(excluding)
6.6.23
运行在以下环境
系统 linux linux_kernel * From
(including)
6.7
Up to
(excluding)
6.7.11
运行在以下环境
系统 linux linux_kernel * From
(including)
6.8
Up to
(excluding)
6.8.2
CVSS3评分
5.5
  • 攻击路径
    本地
  • 攻击复杂度
  • 权限要求
  • 影响范围
    未更改
  • 用户交互
  • 可用性
  • 保密性
  • 完整性
CWE-ID 漏洞类型
CWE-908 对未经初始化资源的使用
阿里云安全产品覆盖情况