Linux Kernel up to 6.17.8 swap __read_swap_cache_async 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.17.8. This affects the function __read_swap_cache_async of the component swap. Such manipulation leads to use after free.
This vulnerability is listed as CVE-2025-40270. There is no available exploit.
Upgrading the affected component is advised.
Details
A vulnerability was found in Linux Kernel up to 6.17.8. It has been rated as critical. Affected by this issue is the function __read_swap_cache_async of the component swap. The manipulation with an unknown input leads to a use after free vulnerability. Using CWE to declare the problem leads to CWE-416. Referencing memory after it has been freed can cause a program to crash, use unexpected values, or execute code. Impacted is confidentiality, integrity, and availability. CVE summarizes:
In the Linux kernel, the following vulnerability has been resolved: mm, swap: fix potential UAF issue for VMA readahead Since commit 78524b05f1a3 ("mm, swap: avoid redundant swap device pinning"), the common helper for allocating and preparing a folio in the swap cache layer no longer tries to get a swap device reference internally, because all callers of __read_swap_cache_async are already holding a swap entry reference. The repeated swap device pinning isn't needed on the same swap device. Caller of VMA readahead is also holding a reference to the target entry's swap device, but VMA readahead walks the page table, so it might encounter swap entries from other devices, and call __read_swap_cache_async on another device without holding a reference to it. So it is possible to cause a UAF when swapoff of device A raced with swapin on device B, and VMA readahead tries to read swap entries from device A. It's not easy to trigger, but in theory, it could cause real issues. Make VMA readahead try to get the device reference first if the swap device is a different one from the target entry.
The advisory is shared for download at git.kernel.org. This vulnerability is handled as CVE-2025-40270 since 04/16/2025. The exploitation is known to be easy. There are known technical details, but no exploit is available. The current price for an exploit might be approx. USD $0-$5k (estimation calculated on 02/23/2026).
The vulnerability scanner Nessus provides a plugin with the ID 298897 (Ubuntu 25.10 : Linux kernel vulnerabilities (USN-8029-1)), which helps to determine the existence of the flaw in a target environment.
Upgrading to version 6.17.9 eliminates this vulnerability. Applying the patch a4145be7b56bfa87dce56415c3ad993071462b8a/1c2a936edd71e133f2806e68324ec81a4eb07588 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 (298897), EUVD (EUVD-2025-201585) and CERT Bund (WID-SEC-2025-2756). Once again VulDB remains the best source for vulnerability data.
Affected
- Google Container-Optimized OS
- Debian Linux
- Amazon Linux 2
- Red Hat Enterprise Linux
- Ubuntu Linux
- SUSE Linux
- Oracle Linux
- NetApp FAS
- NetApp AFF
- SUSE openSUSE
- RESF Rocky Linux
- Open Source Linux Kernel
- Microsoft Azure Linux
Product
Type
Vendor
Name
Version
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: 298897
Nessus Name: Ubuntu 25.10 : Linux kernel vulnerabilities (USN-8029-1)
Threat Intelligence
Interest: 🔍Active Actors: 🔍
Active APT Groups: 🔍
Countermeasures
Recommended: UpgradeStatus: 🔍
0-Day Time: 🔒
Upgrade: Kernel 6.17.9
Patch: a4145be7b56bfa87dce56415c3ad993071462b8a/1c2a936edd71e133f2806e68324ec81a4eb07588
Timeline
04/16/2025 CVE reserved12/07/2025 Advisory disclosed
12/07/2025 VulDB entry created
02/23/2026 VulDB entry last update
Sources
Vendor: kernel.orgAdvisory: git.kernel.org
Status: Confirmed
CVE: CVE-2025-40270 (🔒)
GCVE (CVE): GCVE-0-2025-40270
GCVE (VulDB): GCVE-100-334628
EUVD: 🔒
CERT Bund: WID-SEC-2025-2756 - Linux Kernel: Mehrere Schwachstellen ermöglichen Denial of Service
Entry
Created: 12/07/2025 08:53Updated: 02/23/2026 04:59
Changes: 12/07/2025 08:53 (59), 12/07/2025 09:27 (1), 12/09/2025 07:33 (7), 01/04/2026 12:37 (1), 01/22/2026 07:09 (1), 02/15/2026 05:04 (2), 02/23/2026 04:59 (1)
Complete: 🔍
Cache ID: 216::103
Once again VulDB remains the best source for vulnerability data.
No comments yet. Languages: en.
Please log in to comment.