CVE-2022-49546

Severity CVSS v4.0:
Pending analysis
Type:
Unavailable / Other
Publication date:
26/02/2025
Last modified:
03/11/2025

Description

In the Linux kernel, the following vulnerability has been resolved:<br /> <br /> x86/kexec: fix memory leak of elf header buffer<br /> <br /> This is reported by kmemleak detector:<br /> <br /> unreferenced object 0xffffc900002a9000 (size 4096):<br /> comm "kexec", pid 14950, jiffies 4295110793 (age 373.951s)<br /> hex dump (first 32 bytes):<br /> 7f 45 4c 46 02 01 01 00 00 00 00 00 00 00 00 00 .ELF............<br /> 04 00 3e 00 01 00 00 00 00 00 00 00 00 00 00 00 ..&gt;.............<br /> backtrace:<br /> [] __vmalloc_node_range+0x101/0x170<br /> [] __vmalloc_node+0xb4/0x160<br /> [] crash_prepare_elf64_headers+0x8e/0xcd0<br /> [] crash_load_segments+0x260/0x470<br /> [] bzImage64_load+0x814/0xad0<br /> [] arch_kexec_kernel_image_load+0x1be/0x2a0<br /> [] kimage_file_alloc_init+0x2ec/0x5a0<br /> [] __do_sys_kexec_file_load+0x28d/0x530<br /> [] do_syscall_64+0x3b/0x90<br /> [] entry_SYSCALL_64_after_hwframe+0x44/0xae<br /> <br /> In crash_prepare_elf64_headers(), a buffer is allocated via vmalloc() to<br /> store elf headers. While it&amp;#39;s not freed back to system correctly when<br /> kdump kernel is reloaded or unloaded. Then memory leak is caused. Fix it<br /> by introducing x86 specific function arch_kimage_file_post_load_cleanup(),<br /> and freeing the buffer there.<br /> <br /> And also remove the incorrect elf header buffer freeing code. Before<br /> calling arch specific kexec_file loading function, the image instance has<br /> been initialized. So &amp;#39;image-&gt;elf_headers&amp;#39; must be NULL. It doesn&amp;#39;t make<br /> sense to free the elf header buffer in the place.<br /> <br /> Three different people have reported three bugs about the memory leak on<br /> x86_64 inside Redhat.

Vulnerable products and versions

CPE From Up to
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 5.15.46 (excluding)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 5.16 (including) 5.17.14 (excluding)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 5.18 (including) 5.18.3 (excluding)