CVE-2025-71102

scs: fix a wrong parameter in __scs_magic

published January 14, 2026

CVSS
—
EPSS
0%
Percentile
3.6
In the wild
Unconfirmed
What it is

In the Linux kernel, the following vulnerability has been resolved:

scs: fix a wrong parameter in __scs_magic

__scs_magic() needs a 'void *' variable, but a 'struct task_struct *' is

given. 'task_scs(tsk)' is the starting address of the task's shadow call

stack, and '__scs_magic(task_scs(tsk))' is the end address of the task's

shadow call stack. Here should be '__scs_magic(task_scs(tsk))'.

The user-visible effect of this bug is that when CONFIG_DEBUG_STACK_USAGE

is enabled, the shadow call stack usage checking function

(scs_check_usage) would scan an incorrect memory range. This could lead

1. **Inaccurate stack usage reporting**: The function would calculate

wrong usage statistics for the shadow call stack, potentially showing

incorrect value in kmsg.

2. **Potential kernel crash**: If the value of __scs_magic(tsk)is

greater than that of __scs_magic(task_scs(tsk)), the for loop may

access unmapped memory, potentially causing a kernel panic. However,

this scenario is unlikely because task_struct is allocated via the slab

allocator (which typically returns lower addresses), while the shadow

call stack returned by task_scs(tsk) is allocated via vmalloc(which

typically returns higher addresses).

However, since this is purely a debugging feature

(CONFIG_DEBUG_STACK_USAGE), normal production systems should be not

unaffected. The bug only impacts developers and testers who are actively

debugging stack usage with this configuration enabled.

The record
Technical detail
CVSS
Not scored
CVSS v4.0
Not supplied
EPSS
0.00147 · 3.6th percentile
Published
2026-01-14T15:05Z
EPSS history
Timeline
  • 14 JAN 15:05Z
    scs: fix a wrong parameter in __scs_magic
    cvelistv5