CVE-2024-26901
Assigner: Linux
Published: 2024-04-17T10:27:50.374Z
State: PUBLISHED
descriptions: value: 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.
affected: product: Linux
vendor: Linux
defaultStatus: unaffected
repo: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
versions: version: 990d6c2d7aee
lessThan: 4bac28f441e3
status: affected
versionType: git
version: 990d6c2d7aee
lessThan: 772a7def9868
status: affected
versionType: git
version: 990d6c2d7aee
lessThan: cde76b3af247
status: affected
versionType: git
version: 990d6c2d7aee
lessThan: 423b6bdf19bb
status: affected
versionType: git
version: 990d6c2d7aee
lessThan: e6450d5e46a7
status: affected
versionType: git
version: 990d6c2d7aee
lessThan: c1362eae861d
status: affected
versionType: git
version: 990d6c2d7aee
lessThan: cba138f1ef37
status: affected
versionType: git
version: 990d6c2d7aee
lessThan: bf9ec1b24ab4
status: affected
versionType: git
version: 990d6c2d7aee
lessThan: 3948abaa4e2b
status: affected
versionType: git
product: Linux
vendor: Linux
defaultStatus: affected
repo: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
versions: version: 2.6.39
status: affected
version: 0
lessThan: 2.6.39
status: unaffected
versionType: custom
version: 4.19.311
lessThanOrEqual: 4.19.*
status: unaffected
versionType: custom
version: 5.4.273
lessThanOrEqual: 5.4.*
status: unaffected
versionType: custom
version: 5.10.214
lessThanOrEqual: 5.10.*
status: unaffected
versionType: custom
version: 5.15.153
lessThanOrEqual: 5.15.*
status: unaffected
versionType: custom
version: 6.1.83
lessThanOrEqual: 6.1.*
status: unaffected
versionType: custom
version: 6.6.23
lessThanOrEqual: 6.6.*
status: unaffected
versionType: custom
version: 6.7.11
lessThanOrEqual: 6.7.*
status: unaffected
versionType: custom
version: 6.8.2
lessThanOrEqual: 6.8.*
status: unaffected
versionType: custom
version: 6.9
lessThanOrEqual: *
status: unaffected
versionType: original_commit_for_fix
title: do_sys_name_to_handle(): use kzalloc() to fix kernel-infoleak
x_generator: engine: bippy-d175d3acf727