CVEvulnerability
CVE-2026-68435
- Status
- Received
- Published
- 2026-08-12
- Last modified
- 2026-10-21
- Assigner
- 416baaa9-dc9f-4396-8d5f-8c081fb06d67
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.
References
- https://git.kernel.org/stable/c/3b71f51fa3a247921408879eab2ddee82da8a980 git.kernel.org
- https://git.kernel.org/stable/c/485ed44db5694d8d2e5027f63ad608e705286f30 git.kernel.org
- https://git.kernel.org/stable/c/7a54e0cbaad4a5a09e7cc7a4f05d181048e98ca7 git.kernel.org
- https://git.kernel.org/stable/c/a94d6726ec8680a2b0c453fc782a543f68a1ea06 git.kernel.org
- https://git.kernel.org/stable/c/eaa908d8d523b0ab75dab5ebd6662e70af5e5d7e git.kernel.org