{"id":"CVE-2025-71102","state":"PUBLISHED","title":"scs: fix a wrong parameter in __scs_magic","description":"In the Linux kernel, the following vulnerability has been resolved:\n\nscs: fix a wrong parameter in __scs_magic\n\n__scs_magic() needs a 'void *' variable, but a 'struct task_struct *' is\ngiven.  'task_scs(tsk)' is the starting address of the task's shadow call\nstack, and '__scs_magic(task_scs(tsk))' is the end address of the task's\nshadow call stack.  Here should be '__scs_magic(task_scs(tsk))'.\n\nThe user-visible effect of this bug is that when CONFIG_DEBUG_STACK_USAGE\nis enabled, the shadow call stack usage checking function\n(scs_check_usage) would scan an incorrect memory range.  This could lead\n\n1. **Inaccurate stack usage reporting**: The function would calculate\n   wrong usage statistics for the shadow call stack, potentially showing\n   incorrect value in kmsg.\n\n2. **Potential kernel crash**: If the value of __scs_magic(tsk)is\n   greater than that of __scs_magic(task_scs(tsk)), the for loop may\n   access unmapped memory, potentially causing a kernel panic.  However,\n   this scenario is unlikely because task_struct is allocated via the slab\n   allocator (which typically returns lower addresses), while the shadow\n   call stack returned by task_scs(tsk) is allocated via vmalloc(which\n   typically returns higher addresses).\n\nHowever, since this is purely a debugging feature\n(CONFIG_DEBUG_STACK_USAGE), normal production systems should be not\nunaffected.  The bug only impacts developers and testers who are actively\ndebugging stack usage with this configuration enabled.","publishedAt":"2026-01-14T15:05:52.389Z","updatedAt":"2026-05-11T21:54:47.227Z","severity":null,"assigner":"Linux","products":["Linux Linux"],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"5bbaf9d1fcb9be696ee9a61636ab6803556c70f2","status":"affected","lessThan":"1727e8bd69103a68963a5613a0ddb6d8d37df5d3","versionType":"git"},{"version":"5bbaf9d1fcb9be696ee9a61636ab6803556c70f2","status":"affected","lessThan":"cfdf6250b63b953b1d8e60814c8ca96c6f9d1c8c","versionType":"git"},{"version":"5bbaf9d1fcb9be696ee9a61636ab6803556c70f2","status":"affected","lessThan":"57ba40b001be27786d0570dd292289df748b306b","versionType":"git"},{"version":"5bbaf9d1fcb9be696ee9a61636ab6803556c70f2","status":"affected","lessThan":"062774439d442882b44f5eab8c256ad3423ef284","versionType":"git"},{"version":"5bbaf9d1fcb9be696ee9a61636ab6803556c70f2","status":"affected","lessThan":"9ef28943471a16e4f9646bc3e8e2de148e7d8d7b","versionType":"git"},{"version":"5bbaf9d1fcb9be696ee9a61636ab6803556c70f2","status":"affected","lessThan":"a19fb3611e4c06624fc0f83ef19f4fb8d57d4751","versionType":"git"},{"version":"5bbaf9d1fcb9be696ee9a61636ab6803556c70f2","status":"affected","lessThan":"08bd4c46d5e63b78e77f2605283874bbe868ab19","versionType":"git"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["kernel/scs.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"5.8","status":"affected"},{"version":"0","status":"unaffected","lessThan":"5.8","versionType":"semver"},{"version":"5.10.248","status":"unaffected","lessThanOrEqual":"5.10.*","versionType":"semver"},{"version":"5.15.198","status":"unaffected","lessThanOrEqual":"5.15.*","versionType":"semver"},{"version":"6.1.160","status":"unaffected","lessThanOrEqual":"6.1.*","versionType":"semver"},{"version":"6.6.120","status":"unaffected","lessThanOrEqual":"6.6.*","versionType":"semver"},{"version":"6.12.64","status":"unaffected","lessThanOrEqual":"6.12.*","versionType":"semver"},{"version":"6.18.3","status":"unaffected","lessThanOrEqual":"6.18.*","versionType":"semver"},{"version":"6.19","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["kernel/scs.c"]}],"references":["https://git.kernel.org/stable/c/1727e8bd69103a68963a5613a0ddb6d8d37df5d3","https://git.kernel.org/stable/c/cfdf6250b63b953b1d8e60814c8ca96c6f9d1c8c","https://git.kernel.org/stable/c/57ba40b001be27786d0570dd292289df748b306b","https://git.kernel.org/stable/c/062774439d442882b44f5eab8c256ad3423ef284","https://git.kernel.org/stable/c/9ef28943471a16e4f9646bc3e8e2de148e7d8d7b","https://git.kernel.org/stable/c/a19fb3611e4c06624fc0f83ef19f4fb8d57d4751","https://git.kernel.org/stable/c/08bd4c46d5e63b78e77f2605283874bbe868ab19"],"weaknesses":[],"ingestedAt":"2026-10-29T20:10:04.440Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2025/71xxx/CVE-2025-71102.json","commit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2025-71102","state":"PUBLISHED","datePublished":"2026-01-14T15:05:52.389Z","dateUpdated":"2026-05-11T21:54:47.227Z","assignerShortName":"Linux","assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateReserved":"2026-01-13T15:30:19.651Z"},"containers":{"cna":{"title":"scs: fix a wrong parameter in __scs_magic","descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\nscs: fix a wrong parameter in __scs_magic\n\n__scs_magic() needs a 'void *' variable, but a 'struct task_struct *' is\ngiven.  'task_scs(tsk)' is the starting address of the task's shadow call\nstack, and '__scs_magic(task_scs(tsk))' is the end address of the task's\nshadow call stack.  Here should be '__scs_magic(task_scs(tsk))'.\n\nThe user-visible effect of this bug is that when CONFIG_DEBUG_STACK_USAGE\nis enabled, the shadow call stack usage checking function\n(scs_check_usage) would scan an incorrect memory range.  This could lead\n\n1. **Inaccurate stack usage reporting**: The function would calculate\n   wrong usage statistics for the shadow call stack, potentially showing\n   incorrect value in kmsg.\n\n2. **Potential kernel crash**: If the value of __scs_magic(tsk)is\n   greater than that of __scs_magic(task_scs(tsk)), the for loop may\n   access unmapped memory, potentially causing a kernel panic.  However,\n   this scenario is unlikely because task_struct is allocated via the slab\n   allocator (which typically returns lower addresses), while the shadow\n   call stack returned by task_scs(tsk) is allocated via vmalloc(which\n   typically returns higher addresses).\n\nHowever, since this is purely a debugging feature\n(CONFIG_DEBUG_STACK_USAGE), normal production systems should be not\nunaffected.  The bug only impacts developers and testers who are actively\ndebugging stack usage with this configuration enabled."}],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"5bbaf9d1fcb9be696ee9a61636ab6803556c70f2","status":"affected","lessThan":"1727e8bd69103a68963a5613a0ddb6d8d37df5d3","versionType":"git"},{"version":"5bbaf9d1fcb9be696ee9a61636ab6803556c70f2","status":"affected","lessThan":"cfdf6250b63b953b1d8e60814c8ca96c6f9d1c8c","versionType":"git"},{"version":"5bbaf9d1fcb9be696ee9a61636ab6803556c70f2","status":"affected","lessThan":"57ba40b001be27786d0570dd292289df748b306b","versionType":"git"},{"version":"5bbaf9d1fcb9be696ee9a61636ab6803556c70f2","status":"affected","lessThan":"062774439d442882b44f5eab8c256ad3423ef284","versionType":"git"},{"version":"5bbaf9d1fcb9be696ee9a61636ab6803556c70f2","status":"affected","lessThan":"9ef28943471a16e4f9646bc3e8e2de148e7d8d7b","versionType":"git"},{"version":"5bbaf9d1fcb9be696ee9a61636ab6803556c70f2","status":"affected","lessThan":"a19fb3611e4c06624fc0f83ef19f4fb8d57d4751","versionType":"git"},{"version":"5bbaf9d1fcb9be696ee9a61636ab6803556c70f2","status":"affected","lessThan":"08bd4c46d5e63b78e77f2605283874bbe868ab19","versionType":"git"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["kernel/scs.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"5.8","status":"affected"},{"version":"0","status":"unaffected","lessThan":"5.8","versionType":"semver"},{"version":"5.10.248","status":"unaffected","lessThanOrEqual":"5.10.*","versionType":"semver"},{"version":"5.15.198","status":"unaffected","lessThanOrEqual":"5.15.*","versionType":"semver"},{"version":"6.1.160","status":"unaffected","lessThanOrEqual":"6.1.*","versionType":"semver"},{"version":"6.6.120","status":"unaffected","lessThanOrEqual":"6.6.*","versionType":"semver"},{"version":"6.12.64","status":"unaffected","lessThanOrEqual":"6.12.*","versionType":"semver"},{"version":"6.18.3","status":"unaffected","lessThanOrEqual":"6.18.*","versionType":"semver"},{"version":"6.19","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["kernel/scs.c"]}],"references":[{"url":"https://git.kernel.org/stable/c/1727e8bd69103a68963a5613a0ddb6d8d37df5d3"},{"url":"https://git.kernel.org/stable/c/cfdf6250b63b953b1d8e60814c8ca96c6f9d1c8c"},{"url":"https://git.kernel.org/stable/c/57ba40b001be27786d0570dd292289df748b306b"},{"url":"https://git.kernel.org/stable/c/062774439d442882b44f5eab8c256ad3423ef284"},{"url":"https://git.kernel.org/stable/c/9ef28943471a16e4f9646bc3e8e2de148e7d8d7b"},{"url":"https://git.kernel.org/stable/c/a19fb3611e4c06624fc0f83ef19f4fb8d57d4751"},{"url":"https://git.kernel.org/stable/c/08bd4c46d5e63b78e77f2605283874bbe868ab19"}],"providerMetadata":{"shortName":"Linux","orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateUpdated":"2026-05-11T21:54:47.227Z"},"cpeApplicability":[{"nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.8","versionEndExcluding":"5.10.248"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.8","versionEndExcluding":"5.15.198"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.8","versionEndExcluding":"6.1.160"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.8","versionEndExcluding":"6.6.120"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.8","versionEndExcluding":"6.12.64"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.8","versionEndExcluding":"6.18.3"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.8","versionEndExcluding":"6.19"}]}]}],"x_generator":{"engine":"bippy-1.2.0"}}}}}