7.8

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

Deferred
AliasesUBUNTU-CVE-2025-39977DEBIAN-CVE-2025-39977
Published 15-10-2025Last modified 15-10-2026

Vulnerability summary

CVE-2025-39977 is a high (CVSS 7.8) vulnerability in linux. EPSS estimates a 0.15% chance of exploitation in the next 30 days, higher than 4.2% of scored vulnerabilities.

Priority
Routine

Not severe (CVSS 7.8, local access); no exploitation reported by the 5 checked sources

Source freshness unavailable

How is this decided?
CVSS score
7.8/10
010
High · v3.1 (CVE.org)
EPSS score
0.15%
0%100%
Low · 0.00 pp in 30 days
KEVNot listedNot listed by any tracked catalog.
RansomwareNot flaggedNo ransomware use recorded.
Public exploits0No public exploits recorded

Advisory lineage

Upstream 0 · Downstream 31 · Related 27

Timeline

  1. 15-10-2025
    PublishedVulnerability first disclosed.
  2. 15-10-2026
    Last modifiedVulnerability information updated.

Description

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.

CVSS metrics

5 scores · 4 sources · 2 versions

EPSS trend

Probability

0.15%

Chance of exploitation in the next 30 days

Percentile

4%

Versus all other CVEs

30-day change

No change 0.00 pp

From 0.15% on 04-10-2026

04-10-202603-11-2026

Known exploited

Compare KEV catalogs
CISA KEV

Not in the CISA KEV catalog.

ENISA CNW

Not in the ENISA CNW catalog.

CIRCL

Not in the CIRCL catalog.

Public exploits

0 found

No public exploits indexed.

Weaknesses

CWE · root cause

No weakness data has been published for this record.

Affected systems

Version check

Known conditions: local access, low-privilege account, no user interaction (CVSS vector). Other conditions: not stated in public data.

Ubuntu136 products
  • linuxAll versions (No fix recorded) | < 6.8.0-106.106 | < 6.17.0-6.6
  • linux-allwinner-5.19All versions (No fix recorded)
  • linux-awsAll versions (No fix recorded) | < 6.8.0-1050.53 | < 6.17.0-1003.3
  • linux-aws-5.0All versions (No fix recorded)
  • linux-aws-5.11All versions (No fix recorded)
Debian1 product
  • linux< 6.1.158-1 | < 6.12.57-1 | < 6.16.10-1
Linux1 product
  • linux≥ 07d91ef510fb16a2e0ca7453222105835b7ba3b8, < cb5d19a61274b51b49601214a87af573b43d60fa | ≥ 07d91ef510fb16a2e0ca7453222105835b7ba3b8, < 348736955ed6ca6e99ca24b93b1d3fbfe352c181 | ≥ 07d91ef510fb16a2e0ca7453222105835b7ba3b8, < a170b9c0dde83312b8b58ccc91509c7c15711641 | ≥ 07d91ef510fb16a2e0ca7453222105835b7ba3b8, < d824b2dbdcfe3c390278dd9652ea526168ef6850 | ≥ 07d91ef510fb16a2e0ca7453222105835b7ba3b8, < b549113738e8c751b613118032a724b772aa83f2 | 5.15

3 vendors · 138 products

References

23 links
Show all 23 references