Description
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 products
Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.
Linux Linux
Default version status: unaffected
990d6c2d7aee921e3bce22b2d6a750fd552262be to < 4bac28f441e3cc9d3f1a84c8d023228a68d8a7c1affected990d6c2d7aee921e3bce22b2d6a750fd552262be to < 772a7def9868091da3bcb0d6c6ff9f0c03d7fa8baffected990d6c2d7aee921e3bce22b2d6a750fd552262be to < cde76b3af247f615447bcfecf610bb76c3529126affected990d6c2d7aee921e3bce22b2d6a750fd552262be to < 423b6bdf19bbc5e1f7e7461045099917378f7e71affected990d6c2d7aee921e3bce22b2d6a750fd552262be to < e6450d5e46a737a008b4885aa223486113bf0ad6affected990d6c2d7aee921e3bce22b2d6a750fd552262be to < c1362eae861db28b1608b9dc23e49634fe87b63baffected990d6c2d7aee921e3bce22b2d6a750fd552262be to < cba138f1ef37ec6f961baeab62f312dedc7cf730affected990d6c2d7aee921e3bce22b2d6a750fd552262be to < bf9ec1b24ab4e94345aa1c60811dd329f069c38baffected990d6c2d7aee921e3bce22b2d6a750fd552262be to < 3948abaa4e2be938ccdfc289385a27342fb13d43affected
Linux Linux
Default version status: affected
2.6.39affected0 to < 2.6.39unaffected4.19.311 to ≤ 4.19.*unaffected5.4.273 to ≤ 5.4.*unaffected5.10.214 to ≤ 5.10.*unaffected5.15.153 to ≤ 5.15.*unaffected6.1.83 to ≤ 6.1.*unaffected6.6.23 to ≤ 6.6.*unaffected6.7.11 to ≤ 6.7.*unaffected6.8.2 to ≤ 6.8.*unaffected6.9 to ≤ *unaffected
References
- https://git.kernel.org/stable/c/4bac28f441e3cc9d3f1a84c8d023228a68d8a7c1 ↗
- https://git.kernel.org/stable/c/772a7def9868091da3bcb0d6c6ff9f0c03d7fa8b ↗
- https://git.kernel.org/stable/c/cde76b3af247f615447bcfecf610bb76c3529126 ↗
- https://git.kernel.org/stable/c/423b6bdf19bbc5e1f7e7461045099917378f7e71 ↗
- https://git.kernel.org/stable/c/e6450d5e46a737a008b4885aa223486113bf0ad6 ↗
- https://git.kernel.org/stable/c/c1362eae861db28b1608b9dc23e49634fe87b63b ↗
- https://git.kernel.org/stable/c/cba138f1ef37ec6f961baeab62f312dedc7cf730 ↗
- https://git.kernel.org/stable/c/bf9ec1b24ab4e94345aa1c60811dd329f069c38b ↗
- https://git.kernel.org/stable/c/3948abaa4e2be938ccdfc289385a27342fb13d43 ↗
- https://lists.debian.org/debian-lts-announce/2024/06/msg00017.html ↗
- https://lists.debian.org/debian-lts-announce/2024/06/msg00020.html ↗
- https://cert-portal.siemens.com/productcert/html/ssa-398330.html ↗
- https://cert-portal.siemens.com/productcert/html/ssa-265688.html ↗