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 ..>.............<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&#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 &#39;image->elf_headers&#39; must be NULL. It doesn&#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.
Impact
Base Score 3.x
5.50
Severity 3.x
MEDIUM
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) |
To consult the complete list of CPE names with products and versions, see this page
References to Advisories, Solutions, and Tools
- https://git.kernel.org/stable/c/115ee42a4c2f26ba2b4ace2668a3f004621f6833
- https://git.kernel.org/stable/c/23cf39dccf7653650701a6f39b119e9116a27f1a
- https://git.kernel.org/stable/c/8765a423a87d74ef24ea02b43b2728fe4039f248
- https://git.kernel.org/stable/c/b3e34a47f98974d0844444c5121aaff123004e57
- https://git.kernel.org/stable/c/f675e3a9189d84a9324ab45b0cb19906c2bc8fcb
- https://lists.debian.org/debian-lts-announce/2025/05/msg00030.html



