Description
In the Linux kernel, the following vulnerability has been resolved: fs/binfmt_elf: Fix memory leak in load_elf_binary() There is a memory leak reported by kmemleak: unreferenced object 0xffff88817104ef80 (size 224): comm "xfs_admin", pid 47165, jiffies 4298708825 (age 1333.476s) hex dump (first 32 bytes): 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 60 a8 b3 00 81 88 ff ff a8 10 5a 00 81 88 ff ff `.........Z..... backtrace: [<ffffffff819171e1>] __alloc_file+0x21/0x250 [<ffffffff81918061>] alloc_empty_file+0x41/0xf0 [<ffffffff81948cda>] path_openat+0xea/0x3d30 [<ffffffff8194ec89>] do_filp_open+0x1b9/0x290 [<ffffffff8192660e>] do_open_execat+0xce/0x5b0 [<ffffffff81926b17>] open_exec+0x27/0x50 [<ffffffff81a69250>] load_elf_binary+0x510/0x3ed0 [<ffffffff81927759>] bprm_execve+0x599/0x1240 [<ffffffff8192a997>] do_execveat_common.isra.0+0x4c7/0x680 [<ffffffff8192b078>] __x64_sys_execve+0x88/0xb0 [<ffffffff83bbf0a5>] do_syscall_64+0x35/0x80 If "interp_elf_ex" fails to allocate memory in load_elf_binary(), the program will take the "out_free_ph" error handing path, resulting in "interpreter" file resource is not released. Fix it by adding an error handing path "out_free_file", which will release the file resource when "interp_elf_ex" failed to allocate memory.
Product status
0693ffebcfe5ac7b31f63ad54587007f7d96fb7b before 706215300411d48db6b51a5832b872632a84bbc1
0693ffebcfe5ac7b31f63ad54587007f7d96fb7b before 265b6fb780f57d10449a40e94219b28fa52479cc
0693ffebcfe5ac7b31f63ad54587007f7d96fb7b before acd9b4914f1c5928c7ae8ebc623d6291eb1a573a
0693ffebcfe5ac7b31f63ad54587007f7d96fb7b before 594d2a14f2168c09b13b114c3d457aa939403e52
5.7
Any version before 5.7
5.10.153
5.15.77
6.0.7
6.1
References
git.kernel.org/...c/706215300411d48db6b51a5832b872632a84bbc1
git.kernel.org/...c/265b6fb780f57d10449a40e94219b28fa52479cc
git.kernel.org/...c/acd9b4914f1c5928c7ae8ebc623d6291eb1a573a
git.kernel.org/...c/594d2a14f2168c09b13b114c3d457aa939403e52