CVE-2024-26901

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.

Affected Software

VendorProductVersion RangeStatus
LinuxLinux990d6c2d7aee921e3bce22b2d6a750fd552262be < 4bac28f441e3cc9d3f1a84c8d023228a68d8a7c1affected
LinuxLinux990d6c2d7aee921e3bce22b2d6a750fd552262be < 772a7def9868091da3bcb0d6c6ff9f0c03d7fa8baffected
LinuxLinux990d6c2d7aee921e3bce22b2d6a750fd552262be < cde76b3af247f615447bcfecf610bb76c3529126affected
LinuxLinux990d6c2d7aee921e3bce22b2d6a750fd552262be < 423b6bdf19bbc5e1f7e7461045099917378f7e71affected
LinuxLinux990d6c2d7aee921e3bce22b2d6a750fd552262be < e6450d5e46a737a008b4885aa223486113bf0ad6affected
LinuxLinux990d6c2d7aee921e3bce22b2d6a750fd552262be < c1362eae861db28b1608b9dc23e49634fe87b63baffected
LinuxLinux990d6c2d7aee921e3bce22b2d6a750fd552262be < cba138f1ef37ec6f961baeab62f312dedc7cf730affected
LinuxLinux990d6c2d7aee921e3bce22b2d6a750fd552262be < bf9ec1b24ab4e94345aa1c60811dd329f069c38baffected
LinuxLinux990d6c2d7aee921e3bce22b2d6a750fd552262be < 3948abaa4e2be938ccdfc289385a27342fb13d43affected
LinuxLinux2.6.39affected
LinuxLinux0 < 2.6.39unaffected
LinuxLinux4.19.311 <= 4.19.*unaffected
LinuxLinux5.4.273 <= 5.4.*unaffected
LinuxLinux5.10.214 <= 5.10.*unaffected
LinuxLinux5.15.153 <= 5.15.*unaffected
LinuxLinux6.1.83 <= 6.1.*unaffected
LinuxLinux6.6.23 <= 6.6.*unaffected
LinuxLinux6.7.11 <= 6.7.*unaffected
LinuxLinux6.8.2 <= 6.8.*unaffected
LinuxLinux6.9 <= *unaffected

Weaknesses

ADP Enrichment

CISA ADP Vulnrichment

  • SSVC:
  • Exploitation: none
    • Automatable: no
    • Technical Impact: partial

CVE Program Container

Additional References

Additional References

References