CVE-2025-71102

scs: fix a wrong parameter in __scs_magic

State
Published
Severity
Not scored
Published
Jan 14, 2026
Updated
May 11, 2026
Reserved
Jan 13, 2026

Read the record on cve.org

Description

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.

Scores

The record has no CVSS score.

Weaknesses

The record names no weakness.

Affected Products

ProductVersions
LinuxLinux
  • 5bbaf9d1fcb9be696ee9a61636ab6803556c70f2 to before 1727e8bd69103a68963a5613a0ddb6d8d37df5d3Affected
  • 5bbaf9d1fcb9be696ee9a61636ab6803556c70f2 to before cfdf6250b63b953b1d8e60814c8ca96c6f9d1c8cAffected
  • 5bbaf9d1fcb9be696ee9a61636ab6803556c70f2 to before 57ba40b001be27786d0570dd292289df748b306bAffected
  • 5bbaf9d1fcb9be696ee9a61636ab6803556c70f2 to before 062774439d442882b44f5eab8c256ad3423ef284Affected
  • 5bbaf9d1fcb9be696ee9a61636ab6803556c70f2 to before 9ef28943471a16e4f9646bc3e8e2de148e7d8d7bAffected
  • 5bbaf9d1fcb9be696ee9a61636ab6803556c70f2 to before a19fb3611e4c06624fc0f83ef19f4fb8d57d4751Affected
  • 5bbaf9d1fcb9be696ee9a61636ab6803556c70f2 to before 08bd4c46d5e63b78e77f2605283874bbe868ab19Affected
LinuxLinux
  • 5.8Affected
  • before 5.8Not affected
  • 5.10.248 through 5.10.*Not affected
  • 5.15.198 through 5.15.*Not affected
  • 6.1.160 through 6.1.*Not affected
  • 6.6.120 through 6.6.*Not affected
  • 6.12.64 through 6.12.*Not affected
  • 6.18.3 through 6.18.*Not affected
  • 6.19 and laterNot affected

References

Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.