Skip to main content
← All vulnerabilities
CVE-2024-26901

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

Published
Last modified
published
Not listed in CISA KEV
Fix
Fixed in 4.19.311, 5.4.273, 5.10.214, 5.15.153, 6.1.83, and 3 more
None on Exploit-DB, Metasploit or GitHub
  • Exploitation: none
  • Automatable: no
  • Technical impact: partial

Summary

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.

Timeline

  1. CVE published
  2. CISA SSVC assessment

    Exploitation: none · Automatable: no · Technical impact: partial

  3. Record last updated

Affected versions

  • Linux Linux

    From 990d6c2d7aee921e3bce22b2d6a750fd552262be · fixed in 4bac28f441e3cc9d3f1a84c8d023228a68d8a7c1; From 990d6c2d7aee921e3bce22b2d6a750fd552262be · fixed in 772a7def9868091da3bcb0d6c6ff9f0c03d7fa8b; From 990d6c2d7aee921e3bce22b2d6a750fd552262be · fixed in cde76b3af247f615447bcfecf610bb76c3529126; From 990d6c2d7aee921e3bce22b2d6a750fd552262be · fixed in 423b6bdf19bbc5e1f7e7461045099917378f7e71; From 990d6c2d7aee921e3bce22b2d6a750fd552262be · fixed in e6450d5e46a737a008b4885aa223486113bf0ad6; From 990d6c2d7aee921e3bce22b2d6a750fd552262be · fixed in c1362eae861db28b1608b9dc23e49634fe87b63b; From 990d6c2d7aee921e3bce22b2d6a750fd552262be · fixed in cba138f1ef37ec6f961baeab62f312dedc7cf730; From 990d6c2d7aee921e3bce22b2d6a750fd552262be · fixed in bf9ec1b24ab4e94345aa1c60811dd329f069c38b; From 990d6c2d7aee921e3bce22b2d6a750fd552262be · fixed in 3948abaa4e2be938ccdfc289385a27342fb13d43

  • Linux Linux

    2.6.39

  • KernelLinux

    From 2.6.39 · fixed in 4.19.311; From 4.20.0 · fixed in 5.4.273; From 5.5.0 · fixed in 5.10.214; From 5.11.0 · fixed in 5.15.153; From 5.16.0 · fixed in 6.1.83; From 6.2.0 · fixed in 6.6.23; From 6.7.0 · fixed in 6.7.11; From 6.8.0 · fixed in 6.8.2

References 9

git.kernel.org