CVE-2025-71139
N/A
Summary
In the Linux kernel, the following vulnerability has been resolved:
kernel/kexec: fix IMA when allocation happens in CMA area
*** Bug description ***
When I tested kexec with the latest kernel, I ran into the following warning:
[ 40.712410] ————[ cut here ]———— [ 40.712576] WARNING: CPU: 2 PID: 1562 at kernel/kexec_core.c:1001 kimage_map_segment+0x144/0x198 […] [ 40.816047] Call trace: [ 40.818498] kimage_map_segment+0x144/0x198 (P) [ 40.823221] ima_kexec_post_load+0x58/0xc0 [ 40.827246] __do_sys_kexec_file_load+0x29c/0x368 […] [ 40.855423] —[ end trace 0000000000000000 ]—
*** How to reproduce ***
This bug is only triggered when the kexec target address is allocated in the CMA area. If no CMA area is reserved in the kernel, use the "cma=" option in the kernel command line to reserve one.
*** Root cause *** The commit 07d24902977e ("kexec: enable CMA based contiguous allocation") allocates the kexec target address directly on the CMA area to avoid copying during the jump. In this case, there is no IND_SOURCE for the kexec segment. But the current implementation of kimage_map_segment() assumes that IND_SOURCE pages exist and map them into a contiguous virtual address by vmap().
*** Solution *** If IMA segment is allocated in the CMA area, use its page_address() directly.
Affected Software
| Vendor | Product | Version Range | Status |
|---|---|---|---|
| Linux | Linux | 07d24902977e4704fab8472981e73a0ad6dfa1fd < a843e4155c83211c55b1b6cc17eab27a6a2c5b6f | affected |
| Linux | Linux | 07d24902977e4704fab8472981e73a0ad6dfa1fd < a3785ae5d334bb71d47a593d54c686a03fb9d136 | affected |
| Linux | Linux | 6.17 | affected |
| Linux | Linux | 0 < 6.17 | unaffected |
| Linux | Linux | 6.18.4 <= 6.18.* | unaffected |
| Linux | Linux | 6.19 <= * | unaffected |
Weaknesses
References
- https://git.kernel.org/stable/c/a843e4155c83211c55b1b6cc17eab27a6a2c5b6f
- https://git.kernel.org/stable/c/a3785ae5d334bb71d47a593d54c686a03fb9d136
Feedback
Was this page helpful?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.