CVE-2025-40341

CVE-2025-40341

published December 9, 2025

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

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

futex: Don't leak robust_list pointer on exec race

sys_get_robust_list() and compat_get_robust_list() use ptrace_may_access()

to check if the calling task is allowed to access another task's

robust_list pointer. This check is racy against a concurrent exec() in the

target process.

During exec(), a task may transition from a non-privileged binary to a

privileged one (e.g., setuid binary) and its credentials/memory mappings

may change. If get_robust_list() performs ptrace_may_access() before

this transition, it may erroneously allow access to sensitive information

after the target becomes privileged.

A racy access allows an attacker to exploit a window during which

ptrace_may_access() passes before a target process transitions to a

privileged state via exec().

For example, consider a non-privileged task T that is about to execute a

setuid-root binary. An attacker task A calls get_robust_list(T) while T

is still unprivileged. Since ptrace_may_access() checks permissions

based on current credentials, it succeeds. However, if T begins exec

immediately afterwards, it becomes privileged and may change its memory

mappings. Because get_robust_list() proceeds to access T->robust_list

without synchronizing with exec() it may read user-space pointers from a

now-privileged process.

This violates the intended post-exec access restrictions and could

expose sensitive memory addresses or be used as a primitive in a larger

exploit chain. Consequently, the race can lead to unauthorized

disclosure of information across privilege boundaries and poses a

potential security risk.

Take a read lock on signal->exec_update_lock prior to invoking

ptrace_may_access() and accessing the robust_list/compat_robust_list.

This ensures that the target task's exec state remains stable during the

check, allowing for consistent and synchronized validation of

credentials.

The record
Technical detail
CVSS
Not scored
CVSS v4.0
Not supplied
EPSS
0.00229 · 13.0th percentile
Published
2025-12-09T21:17Z
References (5)
EPSS history
Timeline
  • 09 DEC 04:09Z
    futex: Don't leak robust_list pointer on exec race
    cvelistv5