CyberRota Analysis
AI-GeneratedThe vulnerability affects the Linux kernel's handling of the "kexec" command line, where a user-space segment buffer is incorrectly passed to the `strncmp()` function, potentially leading to dereferencing a user pointer in kernel context. This flaw can result in security issues, as it may allow unauthorized access to kernel memory. Organizations using affected Linux distributions, particularly those running on LoongArch architecture, should prioritize patching this vulnerability to mitigate potential exploitation risks.
Original NVD Description
In the Linux kernel, the following vulnerability has been resolved: LoongArch: Fix address space mismatch in kexec command line lookup When searching the loaded segments for the "kexec" command line marker, the kexec_load(2) path (file_mode == 0) passes the user-space segment buffer straight to strncmp() through a bogus (char __user *) cast. This dereferences a user pointer in kernel context, which is wrong and is flagged by sparse: arch/loongarch/kernel/machine_kexec.c:84:51: sparse: incorrect type in argument 2 (different address spaces) @@ expected char const * @@ got char [noderef] __user * Here copy the marker-sized prefix of each segment into a small on-stack buffer with copy_from_user() before comparing, and skip segments that fault. The subsequent copy_from_user() that stages the full command line into the safe area is left unchanged.