CVE-2025-39977 | futex: Prevent use-after-free during requeue-PI

In the Linux kernel, the following vulnerability has been resolved: futex: Prevent use-after-free during requeue-PI syzbot managed to trigger the following race: T1 T2 futex_wait_requeue_pi() futex_do_wait() schedule() futex_requeue() futex_proxy_trylock_atomic() futex_requeue_pi_prepare() requeue_pi_wake_futex() futex_requeue_pi_complete() /* preempt */ * timeout/ signal wakes T1 * futex_requeue_pi_wakeup_sync() // Q_REQUEUE_PI_LOCKED futex_hash_put() // back to userland, on stack futex_q is garbage /* back */ wake_up_state(q->task, TASK_NORMAL); In this scenario futex_wait_requeue_pi() is able to leave without using futex_q::lock_ptr for synchronization. This can be prevented by reading futex_q::task before updating the futex_q::requeue_state. A reference on the task_struct is not needed because requeue_pi_wake_futex() is invoked with a spinlock_t held which implies a RCU read section. Even if T1 terminates immediately after, the task_struct will remain valid during T2's wake_up_state(). A READ_ONCE on futex_q::task before futex_requeue_pi_complete() is enough because it ensures that the variable is read before the state is updated. Read futex_q::task before updating the requeue state, use it for the following wakeup.

Published: 2025-10-15 Last update: 2026-05-12 Assigner: 416baaa9-dc9f-4396-8d5f-8c081fb06d67 Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67

Conclusion & alert: CVE-2025-39977 is rated Low Risk (20.5/100): low exploitation likelihood (EPSS 0.07%). Mandatory action: Monitor for updates and reassess as exploit intelligence or EPSS changes.

Risk is dynamic; we continuously reassess and refresh what is shown on this page as upstream context changes.

Exploit prediction scoring system (EPSS) score for CVE-2025-39977

EPSS lead: Daily EPSS estimates relative likelihood of exploitation; percentile ranks this CVE among scored vulnerabilities (higher = more severe relative rank).

# Date Old EPSS score New EPSS score Delta (New - Old)
1 2026-05-13 0.03% 0.07% +0.03%
2 2026-03-13 0.05% 0.03% -0.02%
3 2026-02-14 0.05%

Full EPSS history (4 records total)

Common vulnerability scoring system (CVSS) metrics for CVE-2025-39977

CVSS metrics for this CVE.

No CVSS data in dataset for this CVE.

Weakness enumeration for CVE-2025-39977

GitHub Security Advisory for CVE-2025-39977

GHSA-56h7-2ch6-v472 · Severity: unknown — In the Linux kernel, the following vulnerability has been resolved: futex: Prevent use-after...

OS Trackers for CVE-2025-39977

vendor priority summary link
debian unimportant CVE-2025-39977 unimportant priority: Debian including 2 source packages (linux, linux-6.1), 6 status rows across 5 suites (bookworm, bullseye, forky, sid, trixie): resolved 6. https://security-tracker.debian.org/tracker/CVE-2025-39977
redhat medium https://access.redhat.com/security/cve/CVE-2025-39977
suse high CVE-2025-39977 severity important: SUSE including 509 source package names (13.2-9.1:libsystemd0-254.23-1.1, 13.2-9.1:libudev1-254.23-1.1, …), 1221 product×package rows across 219 product lines (Container suse/sl-micro/6.0/baremetal-os-container, Container suse/sl-micro/6.0/base-os-container, … (219 product lines)): Fixed 864, Known Affected 231, Known Not Affected 101, First Fixed 25. https://www.suse.com/security/cve/CVE-2025-39977/
ubuntu medium CVE-2025-39977 medium priority: Ubuntu including 157 source packages (linux, linux-allwinner-5.19, …), 1405 status rows across 9 suites (bionic, focal, jammy, noble, plucky, questing, trusty, upstream, xenial): DNE 1010, ignored 177, released 122, not-affected 54, needed 38, needs-triage 2, pending 2. https://ubuntu.com/security/CVE-2025-39977

Affected software / configurations for CVE-2025-39977

Vendor Product Version Raw CPE
No affected products in dataset.

References for CVE-2025-39977

cvelogic Threat Intelligence