Linux Kernel up to 6.1.154/6.6.108/6.12.49/6.16.9 futex futex_wait_requeue_pi use after free

| CVSS Meta Temp Score | Current Exploit Price (≈) | CTI Interest Score |
|---|---|---|
| 7.6 | $0-$5k | 0.00 |
Summary
A vulnerability classified as critical was found in Linux Kernel up to 6.1.154/6.6.108/6.12.49/6.16.9. This vulnerability affects the function futex_wait_requeue_pi of the component futex. The manipulation results in use after free.
This vulnerability is known as CVE-2025-39977. No exploit is available.
Upgrading the affected component is advised.
Details
A vulnerability was found in Linux Kernel up to 6.1.154/6.6.108/6.12.49/6.16.9. It has been classified as critical. Affected is the function futex_wait_requeue_pi of the component futex. The manipulation with an unknown input leads to a use after free vulnerability. CWE is classifying the issue as CWE-416. Referencing memory after it has been freed can cause a program to crash, use unexpected values, or execute code. This is going to have an impact on confidentiality, integrity, and availability. CVE summarizes:
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.
The advisory is available at git.kernel.org. This vulnerability is traded as CVE-2025-39977 since 04/16/2025. The exploitability is told to be easy. Technical details are known, but there is no available exploit. The structure of the vulnerability defines a possible price range of USD $0-$5k at the moment (estimation calculated on 02/08/2026).
The vulnerability scanner Nessus provides a plugin with the ID 271415 (Oracle Linux 10 / 9 : Unbreakable Enterprise kernel (ELSA-2025-20719)), which helps to determine the existence of the flaw in a target environment.
Upgrading to version 6.1.155, 6.6.109, 6.12.50 or 6.16.10 eliminates this vulnerability. Applying the patch cb5d19a61274b51b49601214a87af573b43d60fa/348736955ed6ca6e99ca24b93b1d3fbfe352c181/a170b9c0dde83312b8b58ccc91509c7c15711641/d824b2dbdcfe3c390278dd9652ea526168ef6850/b549113738e8c751b613118032a724b772aa83f2 is able to eliminate this problem. The bugfix is ready for download at git.kernel.org. The best possible mitigation is suggested to be upgrading to the latest version.
The vulnerability is also documented in the databases at Tenable (271415) and CERT Bund (WID-SEC-2025-2298). If you want to get best quality of vulnerability data, you may have to visit VulDB.
Affected
- Google Container-Optimized OS
- Debian Linux
- Amazon Linux 2
- Red Hat Enterprise Linux
- Ubuntu Linux
- SUSE Linux
- Oracle Linux
- SUSE openSUSE
- RESF Rocky Linux
- Open Source Linux Kernel
- IBM QRadar SIEM
- Dell NetWorker
Product
Type
Vendor
Name
Version
- 6.1.154
- 6.6.108
- 6.12.0
- 6.12.1
- 6.12.2
- 6.12.3
- 6.12.4
- 6.12.5
- 6.12.6
- 6.12.7
- 6.12.8
- 6.12.9
- 6.12.10
- 6.12.11
- 6.12.12
- 6.12.13
- 6.12.14
- 6.12.15
- 6.12.16
- 6.12.17
- 6.12.18
- 6.12.19
- 6.12.20
- 6.12.21
- 6.12.22
- 6.12.23
- 6.12.24
- 6.12.25
- 6.12.26
- 6.12.27
- 6.12.28
- 6.12.29
- 6.12.30
- 6.12.31
- 6.12.32
- 6.12.33
- 6.12.34
- 6.12.35
- 6.12.36
- 6.12.37
- 6.12.38
- 6.12.39
- 6.12.40
- 6.12.41
- 6.12.42
- 6.12.43
- 6.12.44
- 6.12.45
- 6.12.46
- 6.12.47
- 6.12.48
- 6.12.49
- 6.16.0
- 6.16.1
- 6.16.2
- 6.16.3
- 6.16.4
- 6.16.5
- 6.16.6
- 6.16.7
- 6.16.8
- 6.16.9
License
Website
- Vendor: https://www.kernel.org/
CPE 2.3
CPE 2.2
CVSSv4
VulDB Vector: 🔒VulDB Reliability: 🔍
CVSSv3
VulDB Meta Base Score: 8.0VulDB Meta Temp Score: 7.6
VulDB Base Score: 8.0
VulDB Temp Score: 7.6
VulDB Vector: 🔒
VulDB Reliability: 🔍
CVSSv2
| AV | AC | Au | C | I | A |
|---|---|---|---|---|---|
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| Vector | Complexity | Authentication | Confidentiality | Integrity | Availability |
|---|---|---|---|---|---|
| Unlock | Unlock | Unlock | Unlock | Unlock | Unlock |
| Unlock | Unlock | Unlock | Unlock | Unlock | Unlock |
| Unlock | Unlock | Unlock | Unlock | Unlock | Unlock |
VulDB Base Score: 🔒
VulDB Temp Score: 🔒
VulDB Reliability: 🔍
Exploiting
Class: Use after freeCWE: CWE-416 / CWE-119
CAPEC: 🔒
ATT&CK: 🔒
Physical: No
Local: No
Remote: Partially
Availability: 🔒
Status: Not defined
EPSS Score: 🔒
EPSS Percentile: 🔒
Price Prediction: 🔍
Current Price Estimation: 🔒
| 0-Day | Unlock | Unlock | Unlock | Unlock |
|---|---|---|---|---|
| Today | Unlock | Unlock | Unlock | Unlock |
Nessus ID: 271415
Nessus Name: Oracle Linux 10 / 9 : Unbreakable Enterprise kernel (ELSA-2025-20719)
Threat Intelligence
Interest: 🔍Active Actors: 🔍
Active APT Groups: 🔍
Countermeasures
Recommended: UpgradeStatus: 🔍
0-Day Time: 🔒
Upgrade: Kernel 6.1.155/6.6.109/6.12.50/6.16.10
Patch: cb5d19a61274b51b49601214a87af573b43d60fa/348736955ed6ca6e99ca24b93b1d3fbfe352c181/a170b9c0dde83312b8b58ccc91509c7c15711641/d824b2dbdcfe3c390278dd9652ea526168ef6850/b549113738e8c751b613118032a724b772aa83f2
Timeline
04/16/2025 CVE reserved10/15/2025 Advisory disclosed
10/15/2025 VulDB entry created
02/08/2026 VulDB entry last update
Sources
Vendor: kernel.orgAdvisory: git.kernel.org
Status: Confirmed
CVE: CVE-2025-39977 (🔒)
GCVE (CVE): GCVE-0-2025-39977
GCVE (VulDB): GCVE-100-328650
CERT Bund: WID-SEC-2025-2298 - Linux Kernel: Mehrere Schwachstellen
Entry
Created: 10/15/2025 12:09Updated: 02/08/2026 19:29
Changes: 10/15/2025 12:09 (59), 10/25/2025 13:33 (2), 11/03/2025 13:30 (7), 11/22/2025 13:12 (1), 12/21/2025 07:39 (1), 02/08/2026 19:29 (1)
Complete: 🔍
Cache ID: 216::103
If you want to get best quality of vulnerability data, you may have to visit VulDB.
No comments yet. Languages: en.
Please log in to comment.