CVE-2024-35871: Linux kernel · riscv: process: Fix kernel gp leakage childregs represents the registers which are
Affects Linux kernelSource GCVE Database
Not known to be exploited · CVSS 7.1 High · fixed in 5.15.0-1065.71~20.04.1 : patch Linux kernel soon.
Data as of 28 Oct 2026, 10:59 UTC
- Patch
- Available – fixed in 5.15.0-1065.71~20.04.1, 5.15.0-1068.77~20.04.1, 5.15.0-1065.73~20.04.1 +45
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:HExploitation evidence
Disclosed: evidence found.
CVE published 19 May 2024
Detectable: no evidence on record.
No public nuclei template indexed
Weaponised: no evidence on record.
No public exploit code indexed in Metasploit or Exploit-DB
Exploited in the wildExploited: no evidence on record.
Not in CISA KEV and no source reports exploitation
Observed by OffSeq MirageSeen by Mirage: no evidence on record.
No attack traffic recorded by OffSeq Mirage sensors
A missing step is not evidence of safety. Sources: cve.org (opens in a new tab), the Metasploit, Exploit-DB and nuclei-templates index as of 26 Oct 2026.
What to do
Upgrade to a fixed release listed under Affected software.
Patches and advisories
- ubuntu.com/security/notices/USN-6893-1 (opens in a new tab)
- ubuntu.com/security/notices/USN-6898-1 (opens in a new tab)
- ubuntu.com/security/notices/USN-6893-2 (opens in a new tab)
- ubuntu.com/security/notices/USN-6898-2 (opens in a new tab)
- ubuntu.com/security/notices/USN-6898-3 (opens in a new tab)
- ubuntu.com/security/notices/USN-6893-3 (opens in a new tab)
- ubuntu.com/security/notices/USN-6898-4 (opens in a new tab)
- ubuntu.com/security/notices/USN-6917-1 (opens in a new tab)
- ubuntu.com/security/notices/USN-6919-1 (opens in a new tab)
- ubuntu.com/security/notices/USN-6918-1 (opens in a new tab)
- ubuntu.com/security/notices/USN-6927-1 (opens in a new tab)
- ubuntu.com/security/notices/USN-7019-1 (opens in a new tab)
Affected software
| Product | Affected | Fixed in |
|---|---|---|
Ubuntu 24.04 LTSlinuxpkg:deb/ubuntu/linux?arch=source&distro=nobleOther threats | Affected
| Fixed in
|
Ubuntu 24.04 LTSlinux-awspkg:deb/ubuntu/linux-aws?arch=source&distro=nobleOther threats | Affected
| Fixed in
|
Ubuntu 24.04 LTSlinux-azurepkg:deb/ubuntu/linux-azure?arch=source&distro=nobleOther threats | Affected
| Fixed in
|
Ubuntu 24.04 LTSlinux-gcppkg:deb/ubuntu/linux-gcp?arch=source&distro=nobleOther threats | Affected
| Fixed in
|
Ubuntu 24.04 LTSlinux-gkepkg:deb/ubuntu/linux-gke?arch=source&distro=nobleOther threats | Affected
| Fixed in
|
Ubuntu 24.04 LTSlinux-ibmpkg:deb/ubuntu/linux-ibm?arch=source&distro=nobleOther threats | Affected
| Fixed in
|
Check your own hosts for these packages with threat-finder (opens in a new tab), our free open-source scanner.
Description
In the Linux kernel, the following vulnerability has been resolved: riscv: process: Fix kernel gp leakage childregs represents the registers which are active for the new thread in user context. For a kernel thread, childregs->gp is never used since the kernel gp is not touched by switch_to. For a user mode helper, the gp value can be observed in user space after execve or possibly by other means. [From the email thread] The /* Kernel thread */ comment is somewhat inaccurate in that it is also used for user_mode_helper threads, which exec a user process, e.g. /sbin/init or when /proc/sys/kernel/core_pattern is a pipe. Such threads do not have PF_KTHREAD set and are valid targets for ptrace etc. even before they exec. childregs is the *user* context during syscall execution and it is observable from userspace in at least five ways: 1. kernel_execve does not currently clear integer registers, so the starting register state for PID 1 and other user processes started by the kernel has sp = user stack, gp = kernel __global_pointer$, all other integer registers zeroed by the memset in the patch comment. This is a bug in its own right, but I'm unwilling to bet that it is the only way to exploit the issue addressed by this patch. 2. ptrace(PTRACE_GETREGSET): you can PTRACE_ATTACH to a user_mode_helper thread before it execs, but ptrace requires SIGSTOP to be delivered which can only happen at user/kernel boundaries. 3. /proc/*/task/*/syscall: this is perfectly happy to read pt_regs for user_mode_helpers before the exec completes, but gp is not one of the registers it returns. 4. PERF_SAMPLE_REGS_USER: LOCKDOWN_PERF normally prevents access to kernel addresses via PERF_SAMPLE_REGS_INTR, but due to this bug kernel addresses are also exposed via PERF_SAMPLE_REGS_USER which is permitted under LOCKDOWN_PERF. I have not attempted to write exploit code. 5. Much of the tracing infrastructure allows access to user registers. I have not attempted to determine which forms of tracing allow access to user registers without already allowing access to kernel registers.
References
- ubuntu.com/security/CVE-2024-35871 (opens in a new tab)
- cve.org/CVERecord?id=CVE-2024-35871 (opens in a new tab)
- git.kernel.org/linus/d14fa1fcf69db9d070e75f1c4425211fa619dfc8 (opens in a new tab)
- git.kernel.org/stable/c/9abc3e6f1116adb7a2d4fbb8ce20c37916976bf5 (opens in a new tab)
- git.kernel.org/stable/c/dff6072124f6df77bfd36951fbd88565746980ef (opens in a new tab)
- git.kernel.org/stable/c/f6583444d7e78dae750798552b65a2519ff3ca84 (opens in a new tab)
- git.kernel.org/stable/c/00effef72c98294edb1efa87ffa0f6cfb61b36a4 (opens in a new tab)
- git.kernel.org/stable/c/d8dcba0691b8e42bddb61aab201e4d918a08e5d9 (opens in a new tab)
- git.kernel.org/stable/c/d14fa1fcf69db9d070e75f1c4425211fa619dfc8 (opens in a new tab)
- ubuntu.com/security/notices/USN-6893-1 (opens in a new tab)
- ubuntu.com/security/notices/USN-6898-1 (opens in a new tab)
- ubuntu.com/security/notices/USN-6893-2 (opens in a new tab)
- ubuntu.com/security/notices/USN-6898-2 (opens in a new tab)
- ubuntu.com/security/notices/USN-6898-3 (opens in a new tab)
- ubuntu.com/security/notices/USN-6893-3 (opens in a new tab)
- ubuntu.com/security/notices/USN-6898-4 (opens in a new tab)
- ubuntu.com/security/notices/USN-6917-1 (opens in a new tab)
- ubuntu.com/security/notices/USN-6919-1 (opens in a new tab)
- ubuntu.com/security/notices/USN-6918-1 (opens in a new tab)
- ubuntu.com/security/notices/USN-6927-1 (opens in a new tab)