Upstream information

CVE-2024-35871 at MITRE

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.

SUSE information

Overall state of this security issue: Resolved

This issue is currently rated as having moderate severity.

CVSS v3 Scores
  SUSE
Base Score 5.5
Vector CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
Attack Vector Local
Attack Complexity Low
Privileges Required Low
User Interaction None
Scope Unchanged
Confidentiality Impact None
Integrity Impact None
Availability Impact High
CVSSv3 Version 3.1
SUSE Bugzilla entry: 1224528 [RESOLVED / INVALID]

No SUSE Security Announcements cross referenced.


Status of this issue by product and package

Please note that this evaluation state might be work in progress, incomplete or outdated. Also information for service packs in the LTSS phase is only included for issues meeting the LTSS criteria. If in doubt, feel free to contact us for clarification. The updates are grouped by state of their lifecycle. SUSE product lifecycles are documented on the lifecycle page.

Product(s) Source package State
Products under general support and receiving all security fixes.
SUSE Linux Enterprise Desktop 15 SP5 kernel-default Ignore
SUSE Linux Enterprise Desktop 15 SP5 kernel-source Ignore
SUSE Linux Enterprise Desktop 15 SP6 kernel-default Ignore
SUSE Linux Enterprise Desktop 15 SP6 kernel-source Ignore
SUSE Linux Enterprise High Performance Computing 12 SP5 kernel-default Ignore
SUSE Linux Enterprise High Performance Computing 12 SP5 kernel-source Ignore
SUSE Linux Enterprise High Performance Computing 12 SP5 kernel-source-azure Ignore
SUSE Linux Enterprise High Performance Computing 15 SP5 kernel-default Ignore
SUSE Linux Enterprise High Performance Computing 15 SP5 kernel-source Ignore
SUSE Linux Enterprise High Performance Computing 15 SP5 kernel-source-azure Ignore
SUSE Linux Enterprise High Performance Computing 15 SP6 kernel-default Ignore
SUSE Linux Enterprise High Performance Computing 15 SP6 kernel-source Ignore
SUSE Linux Enterprise High Performance Computing 15 SP6 kernel-source-azure Ignore
SUSE Linux Enterprise Micro 5.1 kernel-default Ignore
SUSE Linux Enterprise Micro 5.1 kernel-rt Ignore
SUSE Linux Enterprise Micro 5.1 kernel-source-rt Ignore
SUSE Linux Enterprise Micro 5.2 kernel-default Ignore
SUSE Linux Enterprise Micro 5.2 kernel-rt Ignore
SUSE Linux Enterprise Micro 5.2 kernel-source-rt Ignore
SUSE Linux Enterprise Micro 5.3 kernel-default Ignore
SUSE Linux Enterprise Micro 5.3 kernel-rt Ignore
SUSE Linux Enterprise Micro 5.3 kernel-source-rt Ignore
SUSE Linux Enterprise Micro 5.4 kernel-default Ignore
SUSE Linux Enterprise Micro 5.4 kernel-rt Ignore
SUSE Linux Enterprise Micro 5.4 kernel-source-rt Ignore
SUSE Linux Enterprise Micro 5.5 kernel-source-rt Ignore
SUSE Linux Enterprise Micro 6.0 kernel-source Ignore
SUSE Linux Enterprise Micro 6.0 kernel-source-rt Ignore
SUSE Linux Enterprise Module for Basesystem 15 SP5 kernel-default Ignore
SUSE Linux Enterprise Module for Basesystem 15 SP5 kernel-source Ignore
SUSE Linux Enterprise Module for Basesystem 15 SP6 kernel-default Ignore
SUSE Linux Enterprise Module for Basesystem 15 SP6 kernel-source Ignore
SUSE Linux Enterprise Module for Development Tools 15 SP5 kernel-default Ignore
SUSE Linux Enterprise Module for Development Tools 15 SP5 kernel-source Ignore
SUSE Linux Enterprise Module for Development Tools 15 SP6 kernel-default Ignore
SUSE Linux Enterprise Module for Development Tools 15 SP6 kernel-source Ignore
SUSE Linux Enterprise Module for Public Cloud 15 SP5 kernel-source-azure Ignore
SUSE Linux Enterprise Module for Public Cloud 15 SP6 kernel-source-azure Ignore
SUSE Linux Enterprise Real Time 12 SP5 kernel-source-rt Ignore
SUSE Linux Enterprise Real Time 15 SP5 kernel-source-rt Ignore
SUSE Linux Enterprise Real Time 15 SP6 kernel-source-rt Ignore
SUSE Linux Enterprise Server 12 SP5 kernel-default Ignore
SUSE Linux Enterprise Server 12 SP5 kernel-source Ignore
SUSE Linux Enterprise Server 12 SP5 kernel-source-azure Ignore
SUSE Linux Enterprise Server 12 SP5-LTSS kernel-source Ignore
SUSE Linux Enterprise Server 12 SP5-LTSS kernel-source-azure Ignore
SUSE Linux Enterprise Server 15 SP5 kernel-default Ignore
SUSE Linux Enterprise Server 15 SP5 kernel-source Ignore
SUSE Linux Enterprise Server 15 SP5 kernel-source-azure Ignore
SUSE Linux Enterprise Server 15 SP6 kernel-default Ignore
SUSE Linux Enterprise Server 15 SP6 kernel-source Ignore
SUSE Linux Enterprise Server 15 SP6 kernel-source-azure Ignore
SUSE Linux Enterprise Server for SAP Applications 12 SP5 kernel-default Ignore
SUSE Linux Enterprise Server for SAP Applications 12 SP5 kernel-source Ignore
SUSE Linux Enterprise Server for SAP Applications 12 SP5 kernel-source-azure Ignore
SUSE Linux Enterprise Server for SAP Applications 15 SP5 kernel-default Ignore
SUSE Linux Enterprise Server for SAP Applications 15 SP5 kernel-source Ignore
SUSE Linux Enterprise Server for SAP Applications 15 SP5 kernel-source-azure Ignore
SUSE Linux Enterprise Server for SAP Applications 15 SP6 kernel-default Ignore
SUSE Linux Enterprise Server for SAP Applications 15 SP6 kernel-source Ignore
SUSE Linux Enterprise Server for SAP Applications 15 SP6 kernel-source-azure Ignore
SUSE Manager Proxy 4.3 kernel-default Ignore
SUSE Manager Proxy 4.3 kernel-source Ignore
SUSE Manager Retail Branch Server 4.3 kernel-default Ignore
SUSE Manager Retail Branch Server 4.3 kernel-source Ignore
SUSE Manager Server 4.3 kernel-default Ignore
SUSE Manager Server 4.3 kernel-source Ignore
SUSE Real Time Module 15 SP5 kernel-source-rt Ignore
SUSE Real Time Module 15 SP6 kernel-source-rt Ignore
openSUSE Leap 15.5 kernel-default Ignore
openSUSE Leap 15.5 kernel-source Ignore
openSUSE Leap 15.5 kernel-source-azure Ignore
openSUSE Leap 15.5 kernel-source-rt Ignore
openSUSE Leap 15.6 kernel-default Ignore
openSUSE Leap 15.6 kernel-source Ignore
openSUSE Leap 15.6 kernel-source-azure Ignore
openSUSE Leap 15.6 kernel-source-rt Ignore
Products under Long Term Service Pack support and receiving important and critical security fixes.
SUSE Linux Enterprise Desktop 15 SP4 kernel-source Ignore
SUSE Linux Enterprise High Performance Computing 15 SP2 kernel-source Ignore
SUSE Linux Enterprise High Performance Computing 15 SP2-ESPOS kernel-source Ignore
SUSE Linux Enterprise High Performance Computing 15 SP2-LTSS kernel-default Ignore
SUSE Linux Enterprise High Performance Computing 15 SP2-LTSS kernel-source Ignore
SUSE Linux Enterprise High Performance Computing 15 SP3 kernel-source Ignore
SUSE Linux Enterprise High Performance Computing 15 SP3-ESPOS kernel-source Ignore
SUSE Linux Enterprise High Performance Computing 15 SP3-LTSS kernel-default Ignore
SUSE Linux Enterprise High Performance Computing 15 SP3-LTSS kernel-source Ignore
SUSE Linux Enterprise High Performance Computing 15 SP4 kernel-source Ignore
SUSE Linux Enterprise High Performance Computing 15 SP4-ESPOS kernel-default Ignore
SUSE Linux Enterprise High Performance Computing 15 SP4-ESPOS kernel-source Ignore
SUSE Linux Enterprise High Performance Computing 15 SP4-LTSS kernel-default Ignore
SUSE Linux Enterprise High Performance Computing 15 SP4-LTSS kernel-source Ignore
SUSE Linux Enterprise Module for Basesystem 15 SP2 kernel-source Ignore
SUSE Linux Enterprise Module for Basesystem 15 SP3 kernel-source Ignore
SUSE Linux Enterprise Module for Basesystem 15 SP4 kernel-source Ignore
SUSE Linux Enterprise Module for Development Tools 15 SP2 kernel-source Ignore
SUSE Linux Enterprise Module for Development Tools 15 SP3 kernel-source Ignore
SUSE Linux Enterprise Module for Development Tools 15 SP4 kernel-source Ignore
SUSE Linux Enterprise Server 11 SP4 LTSS EXTREME CORE kernel-default Ignore
SUSE Linux Enterprise Server 11 SP4 LTSS EXTREME CORE kernel-source Ignore
SUSE Linux Enterprise Server 15 SP2 kernel-source Ignore
SUSE Linux Enterprise Server 15 SP2-LTSS kernel-default Ignore
SUSE Linux Enterprise Server 15 SP2-LTSS kernel-source Ignore
SUSE Linux Enterprise Server 15 SP3 kernel-source Ignore
SUSE Linux Enterprise Server 15 SP3-LTSS kernel-default Ignore
SUSE Linux Enterprise Server 15 SP3-LTSS kernel-source Ignore
SUSE Linux Enterprise Server 15 SP4 kernel-source Ignore
SUSE Linux Enterprise Server 15 SP4-LTSS kernel-default Ignore
SUSE Linux Enterprise Server 15 SP4-LTSS kernel-source Ignore
SUSE Linux Enterprise Server for SAP Applications 15 SP2 kernel-default Ignore
SUSE Linux Enterprise Server for SAP Applications 15 SP2 kernel-source Ignore
SUSE Linux Enterprise Server for SAP Applications 15 SP3 kernel-default Ignore
SUSE Linux Enterprise Server for SAP Applications 15 SP3 kernel-source Ignore
SUSE Linux Enterprise Server for SAP Applications 15 SP4 kernel-default Ignore
SUSE Linux Enterprise Server for SAP Applications 15 SP4 kernel-source Ignore
Products past their end of life and not receiving proactive updates anymore.
HPE Helion OpenStack 8 kernel-source Ignore
SUSE CaaS Platform 4.0 kernel-source Ignore
SUSE CaaS Platform Toolchain 3 kernel-source Ignore
SUSE Enterprise Storage 6 kernel-source Ignore
SUSE Enterprise Storage 7 kernel-source Ignore
SUSE Enterprise Storage 7.1 kernel-default Ignore
SUSE Enterprise Storage 7.1 kernel-source Ignore
SUSE Linux Enterprise Desktop 11 SP4 kernel-source Ignore
SUSE Linux Enterprise Desktop 12 SP3 kernel-source Ignore
SUSE Linux Enterprise Desktop 12 SP4 kernel-source Ignore
SUSE Linux Enterprise Desktop 15 kernel-source Ignore
SUSE Linux Enterprise Desktop 15 SP1 kernel-source Ignore
SUSE Linux Enterprise Desktop 15 SP2 kernel-source Ignore
SUSE Linux Enterprise Desktop 15 SP3 kernel-source Ignore
SUSE Linux Enterprise High Performance Computing 15 kernel-source Ignore
SUSE Linux Enterprise High Performance Computing 15 SP1 kernel-source Ignore
SUSE Linux Enterprise High Performance Computing 15 SP1-ESPOS kernel-source Ignore
SUSE Linux Enterprise High Performance Computing 15 SP1-LTSS kernel-source Ignore
SUSE Linux Enterprise High Performance Computing 15-ESPOS kernel-source Ignore
SUSE Linux Enterprise High Performance Computing 15-LTSS kernel-source Ignore
SUSE Linux Enterprise Micro 5.0 kernel-default Ignore
SUSE Linux Enterprise Module for Basesystem 15 kernel-source Ignore
SUSE Linux Enterprise Module for Basesystem 15 SP1 kernel-source Ignore
SUSE Linux Enterprise Module for Development Tools 15 kernel-source Ignore
SUSE Linux Enterprise Module for Development Tools 15 SP1 kernel-source Ignore
SUSE Linux Enterprise Real Time 15 SP2 kernel-source Ignore
SUSE Linux Enterprise Real Time 15 SP3 kernel-source Ignore
SUSE Linux Enterprise Real Time 15 SP3 kernel-source-rt Ignore
SUSE Linux Enterprise Real Time 15 SP4 kernel-source Ignore
SUSE Linux Enterprise Real Time 15 SP4 kernel-source-rt Ignore
SUSE Linux Enterprise Server 11 SP4 kernel-source Ignore
SUSE Linux Enterprise Server 11 SP4 LTSS kernel-default Ignore
SUSE Linux Enterprise Server 11 SP4 LTSS kernel-source Ignore
SUSE Linux Enterprise Server 11 SP4-LTSS kernel-source Ignore
SUSE Linux Enterprise Server 12 SP3 kernel-source Ignore
SUSE Linux Enterprise Server 12 SP3-BCL kernel-source Ignore
SUSE Linux Enterprise Server 12 SP3-ESPOS kernel-source Ignore
SUSE Linux Enterprise Server 12 SP3-LTSS kernel-source Ignore
SUSE Linux Enterprise Server 12 SP4 kernel-source Ignore
SUSE Linux Enterprise Server 12 SP4-ESPOS kernel-source Ignore
SUSE Linux Enterprise Server 12 SP4-LTSS kernel-default Ignore
SUSE Linux Enterprise Server 12 SP4-LTSS kernel-source Ignore
SUSE Linux Enterprise Server 15 kernel-source Ignore
SUSE Linux Enterprise Server 15 SP1 kernel-source Ignore
SUSE Linux Enterprise Server 15 SP1-BCL kernel-source Ignore
SUSE Linux Enterprise Server 15 SP1-LTSS kernel-default Ignore
SUSE Linux Enterprise Server 15 SP1-LTSS kernel-source Ignore
SUSE Linux Enterprise Server 15 SP2-BCL kernel-source Ignore
SUSE Linux Enterprise Server 15 SP3-BCL kernel-source Ignore
SUSE Linux Enterprise Server 15-LTSS kernel-default Ignore
SUSE Linux Enterprise Server 15-LTSS kernel-source Ignore
SUSE Linux Enterprise Server for SAP Applications 12 SP3 kernel-source Ignore
SUSE Linux Enterprise Server for SAP Applications 12 SP4 kernel-default Ignore
SUSE Linux Enterprise Server for SAP Applications 12 SP4 kernel-source Ignore
SUSE Linux Enterprise Server for SAP Applications 15 kernel-source Ignore
SUSE Linux Enterprise Server for SAP Applications 15 SP1 kernel-source Ignore
SUSE Manager Proxy 4.0 kernel-source Ignore
SUSE Manager Proxy 4.1 kernel-source Ignore
SUSE Manager Proxy 4.2 kernel-source Ignore
SUSE Manager Retail Branch Server 4.0 kernel-source Ignore
SUSE Manager Retail Branch Server 4.1 kernel-source Ignore
SUSE Manager Retail Branch Server 4.2 kernel-source Ignore
SUSE Manager Server 4.0 kernel-source Ignore
SUSE Manager Server 4.1 kernel-source Ignore
SUSE Manager Server 4.2 kernel-source Ignore
SUSE OpenStack Cloud 8 kernel-source Ignore
SUSE OpenStack Cloud 9 kernel-default Ignore
SUSE OpenStack Cloud 9 kernel-source Ignore
SUSE OpenStack Cloud Crowbar 8 kernel-source Ignore
SUSE OpenStack Cloud Crowbar 9 kernel-default Ignore
SUSE OpenStack Cloud Crowbar 9 kernel-source Ignore
SUSE Real Time Module 15 SP3 kernel-source-rt Ignore
SUSE Real Time Module 15 SP4 kernel-source-rt Ignore
openSUSE Leap 15.3 kernel-source Ignore
openSUSE Leap 15.3 kernel-source-rt Ignore
openSUSE Leap 15.4 kernel-source Ignore
openSUSE Leap 15.4 kernel-source-azure Ignore
openSUSE Leap 15.4 kernel-source-rt Ignore
Products at an unknown state of their lifecycle.
SUSE Linux Enterprise Server 12 SP5-LTSS-EXTENDED-SECURITY kernel-source Ignore
SUSE Linux Enterprise Server 12 SP5-LTSS-EXTENDED-SECURITY kernel-source-azure Ignore


SUSE Timeline for this CVE

CVE page created: Sun May 19 12:00:08 2024
CVE page last modified: Sat Oct 5 00:21:49 2024