CVE & CISA-KEV Catalog

CVE-2025-40303

MEDIUM
5.5
CVSS v3
NVD

Description

In the Linux kernel, the following vulnerability has been resolved: btrfs: ensure no dirty metadata is written back for an fs with errors [BUG] During development of a minor feature (make sure all btrfs_bio::end_io() is called in task context), I noticed a crash in generic/388, where metadata writes triggered new works after btrfs_stop_all_workers(). It turns out that it can even happen without any code modification, just using RAID5 for metadata and the same workload from generic/388 is going to trigger the use-after-free. [CAUSE] If btrfs hits an error, the fs is marked as error, no new transaction is allowed thus metadata is in a frozen state. But there are some metadata modifications before that error, and they are still in the btree inode page cache. Since there will be no real transaction commit, all those dirty folios are just kept as is in the page cache, and they can not be invalidated by invalidate_inode_pages2() call inside close_ctree(), because they are dirty. And finally after btrfs_stop_all_workers(), we call iput() on btree inode, which triggers writeback of those dirty metadata. And if the fs is using RAID56 metadata, this will trigger RMW and queue new works into rmw_workers, which is already stopped, causing warning from queue_work() and use-after-free. [FIX] Add a special handling for write_one_eb(), that if the fs is already in an error state, immediately mark the bbio as failure, instead of really submitting them. Then during close_ctree(), iput() will just discard all those dirty tree blocks without really writing them back, thus no more new jobs for already stopped-and-freed workqueues. The extra discard in write_one_eb() also acts as an extra safenet. E.g. the transaction abort is triggered by some extent/free space tree corruptions, and since extent/free space tree is already corrupted some tree blocks may be allocated where they shouldn't be (overwriting existing tree blocks). In that case writing them back will further corrupting the fs.

How to fix

Remediation Available
linuxDebian
Fixed in:6.12.63-1CVE-2025-40303
Fixed in:6.17.8-1CVE-2025-40303
linuxUbuntu
Fixed in:6.8.0-106.106USN-8095-1
Fixed in:6.17.0-14.14USN-8029-1
linux-awsUbuntu
Fixed in:6.8.0-1050.53USN-8095-1
Fixed in:6.17.0-1007.7USN-8029-2
linux-aws-6.8Ubuntu
Fixed in:6.8.0-1050.53~22.04.1USN-8095-4
linux-aws-fipsUbuntu
Fixed in:6.8.0-1050.53+fips1USN-8095-2
linux-azureUbuntu
Fixed in:6.8.0-1051.57USN-8125-1
Fixed in:6.17.0-1008.8USN-8029-3
linux-azure-6.8Ubuntu
Fixed in:6.8.0-1051.57~22.04.1USN-8126-1
linux-azure-fipsUbuntu
Fixed in:6.8.0-1052.58+fips1USN-8165-1
linux-fipsUbuntu
Fixed in:6.8.0-106.106+fips1USN-8095-2
linux-gcpUbuntu
Fixed in:6.8.0-1052.55USN-8095-1
Fixed in:6.17.0-1007.7USN-8030-1
linux-gcp-6.8Ubuntu
Fixed in:6.8.0-1052.55~22.04.1USN-8095-1
linux-gcp-fipsUbuntu
Fixed in:6.8.0-1052.55+fips1USN-8095-2
linux-gkeUbuntu
Fixed in:6.8.0-1048.53USN-8095-1
linux-gkeopUbuntu
Fixed in:6.8.0-1035.38USN-8095-1
linux-hwe-6.8Ubuntu
Fixed in:6.8.0-106.106~22.04.1USN-8095-1
linux-ibmUbuntu
Fixed in:6.8.0-1049.49USN-8095-1
linux-ibm-6.8Ubuntu
Fixed in:6.8.0-1049.49~22.04.1USN-8095-1
linux-image-6.17.0-1006-realtimeUbuntu
Fixed in:6.17.0-1006.7USN-8029-1
linux-image-6.17.0-1007-awsUbuntu
Fixed in:6.17.0-1007.7USN-8029-2
linux-image-6.17.0-1007-aws-64kUbuntu
Fixed in:6.17.0-1007.7USN-8029-2
linux-image-6.17.0-1007-gcpUbuntu
Fixed in:6.17.0-1007.7USN-8030-1
linux-image-6.17.0-1007-gcp-64kUbuntu
Fixed in:6.17.0-1007.7USN-8030-1
linux-image-6.17.0-1007-oracleUbuntu
Fixed in:6.17.0-1007.7USN-8029-2
linux-image-6.17.0-1007-oracle-64kUbuntu
Fixed in:6.17.0-1007.7USN-8029-2
linux-image-6.17.0-1008-azureUbuntu
Fixed in:6.17.0-1008.8USN-8029-3
linux-image-6.17.0-1008-raspiUbuntu
Fixed in:6.17.0-1008.8USN-8029-1
linux-image-6.17.0-1011-oemUbuntu
Fixed in:6.17.0-1011.11USN-8048-1
linux-image-6.17.0-14-genericUbuntu
Fixed in:6.17.0-14.14USN-8029-1
linux-image-6.17.0-14-generic-64kUbuntu
Fixed in:6.17.0-14.14USN-8029-1
linux-image-6.8.0-1029-xilinxUbuntu
Fixed in:6.8.0-1029.30USN-8261-1
linux-image-6.8.0-1035-gkeopUbuntu
Fixed in:6.8.0-1035.38USN-8095-1
linux-image-6.8.0-1047-oracleUbuntu
Fixed in:6.8.0-1047.48~22.04.1USN-8095-1
Fixed in:6.8.0-1047.48USN-8095-1
linux-image-6.8.0-1047-oracle-64kUbuntu
Fixed in:6.8.0-1047.48~22.04.1USN-8095-1
Fixed in:6.8.0-1047.48USN-8095-1
linux-image-6.8.0-1048-gkeUbuntu
Fixed in:6.8.0-1048.53USN-8095-1
linux-image-6.8.0-1048-gke-64kUbuntu
Fixed in:6.8.0-1048.53USN-8095-1
linux-image-6.8.0-1049-ibmUbuntu
Fixed in:6.8.0-1049.49~22.04.1USN-8095-1
Fixed in:6.8.0-1049.49USN-8095-1
linux-image-6.8.0-1049-nvidiaUbuntu
Fixed in:6.8.0-1049.52~22.04.1USN-8100-1
Fixed in:6.8.0-1049.52USN-8100-1
linux-image-6.8.0-1049-nvidia-64kUbuntu
Fixed in:6.8.0-1049.52~22.04.1USN-8100-1
Fixed in:6.8.0-1049.52USN-8100-1
linux-image-6.8.0-1049-nvidia-lowlatencyUbuntu
Fixed in:6.8.0-1049.52.1USN-8100-1
linux-image-6.8.0-1049-nvidia-lowlatency-64kUbuntu
Fixed in:6.8.0-1049.52.1USN-8100-1
linux-image-6.8.0-1050-awsUbuntu
Fixed in:6.8.0-1050.53~22.04.1USN-8095-4
Fixed in:6.8.0-1050.53USN-8095-1
linux-image-6.8.0-1050-aws-64kUbuntu
Fixed in:6.8.0-1050.53~22.04.1USN-8095-4
Fixed in:6.8.0-1050.53USN-8095-1
linux-image-6.8.0-1050-aws-fipsUbuntu
Fixed in:6.8.0-1050.53+fips1USN-8095-2
linux-image-6.8.0-1050-raspiUbuntu
Fixed in:6.8.0-1050.54USN-8095-5
linux-image-6.8.0-1051-azureUbuntu
Fixed in:6.8.0-1051.57~22.04.1USN-8126-1
Fixed in:6.8.0-1051.57USN-8125-1
linux-image-6.8.0-1052-azure-fipsUbuntu
Fixed in:6.8.0-1052.58+fips1USN-8165-1
linux-image-6.8.0-1052-gcpUbuntu
Fixed in:6.8.0-1052.55~22.04.1USN-8095-1
Fixed in:6.8.0-1052.55USN-8095-1
linux-image-6.8.0-1052-gcp-64kUbuntu
Fixed in:6.8.0-1052.55~22.04.1USN-8095-1
Fixed in:6.8.0-1052.55USN-8095-1
linux-image-6.8.0-1052-gcp-fipsUbuntu
Fixed in:6.8.0-1052.55+fips1USN-8095-2
linux-image-6.8.0-106-fipsUbuntu
Fixed in:6.8.0-106.106+fips1USN-8095-2
linux-image-6.8.0-106-genericUbuntu
Fixed in:6.8.0-106.106~22.04.1USN-8095-1
Fixed in:6.8.0-106.106USN-8095-1
linux-image-6.8.0-106-generic-64kUbuntu
Fixed in:6.8.0-106.106~22.04.1USN-8095-1
Fixed in:6.8.0-106.106USN-8095-1
linux-image-6.8.0-106-lowlatencyUbuntu
Fixed in:6.8.0-106.106.1~22.04.1USN-8095-1
Fixed in:6.8.0-106.106.1USN-8095-1
linux-image-6.8.0-106-lowlatency-64kUbuntu
Fixed in:6.8.0-106.106.1~22.04.1USN-8095-1
Fixed in:6.8.0-106.106.1USN-8095-1
linux-image-6.8.0-2040-raspi-realtimeUbuntu
Fixed in:6.8.0-2040.41USN-8095-5
linux-image-6.8.1-1045-realtimeUbuntu
Fixed in:6.8.1-1045.46~22.04.1USN-8095-3
Fixed in:6.8.1-1045.46USN-8095-3
linux-image-awsUbuntu
Fixed in:6.8.0-1050.53~22.04.1USN-8095-4
Fixed in:6.17.0-1007.7USN-8029-2
linux-image-aws-6.17Ubuntu
Fixed in:6.17.0-1007.7USN-8029-2
linux-image-aws-6.8Ubuntu
Fixed in:6.8.0-1050.53~22.04.1USN-8095-4
Fixed in:6.8.0-1050.53USN-8095-1
linux-image-aws-64kUbuntu
Fixed in:6.8.0-1050.53~22.04.1USN-8095-4
Fixed in:6.17.0-1007.7USN-8029-2
linux-image-aws-64k-6.17Ubuntu
Fixed in:6.17.0-1007.7USN-8029-2
linux-image-aws-64k-6.8Ubuntu
Fixed in:6.8.0-1050.53~22.04.1USN-8095-4
Fixed in:6.8.0-1050.53USN-8095-1
linux-image-aws-64k-lts-24.04Ubuntu
Fixed in:6.8.0-1050.53USN-8095-1
linux-image-aws-fipsUbuntu
Fixed in:6.8.0-1050.53+fips1USN-8095-2
linux-image-aws-fips-6.8Ubuntu
Fixed in:6.8.0-1050.53+fips1USN-8095-2
linux-image-aws-lts-24.04Ubuntu
Fixed in:6.8.0-1050.53USN-8095-1
linux-image-azureUbuntu
Fixed in:6.8.0-1051.57~22.04.1USN-8126-1
Fixed in:6.17.0-1008.8USN-8029-3
linux-image-azure-6.17Ubuntu
Fixed in:6.17.0-1008.8USN-8029-3
linux-image-azure-6.8Ubuntu
Fixed in:6.8.0-1051.57~22.04.1USN-8126-1
Fixed in:6.8.0-1051.57USN-8125-1
linux-image-azure-fipsUbuntu
Fixed in:6.8.0-1052.58+fips1USN-8165-1
linux-image-azure-fips-6.8Ubuntu
Fixed in:6.8.0-1052.58+fips1USN-8165-1
linux-image-azure-lts-24.04Ubuntu
Fixed in:6.8.0-1051.57USN-8125-1
linux-image-fipsUbuntu
Fixed in:6.8.0-106.106+fips1USN-8095-2
linux-image-fips-6.8Ubuntu
Fixed in:6.8.0-106.106+fips1USN-8095-2
linux-image-gcpUbuntu
Fixed in:6.8.0-1052.55~22.04.1USN-8095-1
Fixed in:6.17.0-1007.7USN-8030-1
linux-image-gcp-6.17Ubuntu
Fixed in:6.17.0-1007.7USN-8030-1
linux-image-gcp-6.8Ubuntu
Fixed in:6.8.0-1052.55~22.04.1USN-8095-1
Fixed in:6.8.0-1052.55USN-8095-1
linux-image-gcp-64kUbuntu
Fixed in:6.8.0-1052.55~22.04.1USN-8095-1
Fixed in:6.17.0-1007.7USN-8030-1
linux-image-gcp-64k-6.17Ubuntu
Fixed in:6.17.0-1007.7USN-8030-1
linux-image-gcp-64k-6.8Ubuntu
Fixed in:6.8.0-1052.55~22.04.1USN-8095-1
Fixed in:6.8.0-1052.55USN-8095-1
linux-image-gcp-64k-lts-24.04Ubuntu
Fixed in:6.8.0-1052.55USN-8095-1
linux-image-gcp-fipsUbuntu
Fixed in:6.8.0-1052.55+fips1USN-8095-2
linux-image-gcp-fips-6.8Ubuntu
Fixed in:6.8.0-1052.55+fips1USN-8095-2
linux-image-gcp-lts-24.04Ubuntu
Fixed in:6.8.0-1052.55USN-8095-1
linux-image-genericUbuntu
Fixed in:6.8.0-106.106USN-8095-1
Fixed in:6.17.0-14.14USN-8029-1
linux-image-generic-6.17Ubuntu
Fixed in:6.17.0-14.14USN-8029-1
linux-image-generic-6.8Ubuntu
Fixed in:6.8.0-106.106~22.04.1USN-8095-1
Fixed in:6.8.0-106.106USN-8095-1
linux-image-generic-64kUbuntu
Fixed in:6.8.0-106.106USN-8095-1
Fixed in:6.17.0-14.14USN-8029-1
linux-image-generic-64k-6.17Ubuntu
Fixed in:6.17.0-14.14USN-8029-1
linux-image-generic-64k-6.8Ubuntu
Fixed in:6.8.0-106.106~22.04.1USN-8095-1
Fixed in:6.8.0-106.106USN-8095-1
linux-image-generic-64k-hwe-22.04Ubuntu
Fixed in:6.8.0-106.106~22.04.1USN-8095-1
linux-image-generic-hwe-22.04Ubuntu
Fixed in:6.8.0-106.106~22.04.1USN-8095-1
linux-image-generic-lpaeUbuntu
Fixed in:6.8.0-106.106USN-8095-1
linux-image-gkeUbuntu
Fixed in:6.8.0-1048.53USN-8095-1
linux-image-gke-6.8Ubuntu
Fixed in:6.8.0-1048.53USN-8095-1
linux-image-gke-64kUbuntu
Fixed in:6.8.0-1048.53USN-8095-1
linux-image-gke-64k-6.8Ubuntu
Fixed in:6.8.0-1048.53USN-8095-1
linux-image-gkeopUbuntu
Fixed in:6.8.0-1035.38USN-8095-1
linux-image-gkeop-6.8Ubuntu
Fixed in:6.8.0-1035.38USN-8095-1
linux-image-ibmUbuntu
Fixed in:6.8.0-1049.49USN-8095-1
linux-image-ibm-6.8Ubuntu
Fixed in:6.8.0-1049.49~22.04.1USN-8095-1
Fixed in:6.8.0-1049.49USN-8095-1
linux-image-ibm-classicUbuntu
Fixed in:6.8.0-1049.49USN-8095-1
linux-image-ibm-lts-24.04Ubuntu
Fixed in:6.8.0-1049.49USN-8095-1
linux-image-intel-iot-realtimeUbuntu
Fixed in:6.8.1-1045.46USN-8095-3
linux-image-intel-iotgUbuntu
Fixed in:6.8.0-106.106USN-8095-1
linux-image-kvmUbuntu
Fixed in:6.8.0-106.106USN-8095-1
linux-image-lowlatencyUbuntu
Fixed in:6.8.0-106.106.1USN-8095-1
linux-image-lowlatency-6.8Ubuntu
Fixed in:6.8.0-106.106.1~22.04.1USN-8095-1
Fixed in:6.8.0-106.106.1USN-8095-1
linux-image-lowlatency-64kUbuntu
Fixed in:6.8.0-106.106.1USN-8095-1
linux-image-lowlatency-64k-6.8Ubuntu
Fixed in:6.8.0-106.106.1~22.04.1USN-8095-1
Fixed in:6.8.0-106.106.1USN-8095-1
linux-image-lowlatency-64k-hwe-22.04Ubuntu
Fixed in:6.8.0-106.106.1~22.04.1USN-8095-1
linux-image-lowlatency-hwe-22.04Ubuntu
Fixed in:6.8.0-106.106.1~22.04.1USN-8095-1
linux-image-nvidiaUbuntu
Fixed in:6.8.0-1049.52USN-8100-1
linux-image-nvidia-6.8Ubuntu
Fixed in:6.8.0-1049.52~22.04.1USN-8100-1
Fixed in:6.8.0-1049.52USN-8100-1
linux-image-nvidia-64kUbuntu
Fixed in:6.8.0-1049.52USN-8100-1
linux-image-nvidia-64k-6.8Ubuntu
Fixed in:6.8.0-1049.52~22.04.1USN-8100-1
Fixed in:6.8.0-1049.52USN-8100-1
linux-image-nvidia-64k-hwe-22.04Ubuntu
Fixed in:6.8.0-1049.52~22.04.1USN-8100-1
linux-image-nvidia-hwe-22.04Ubuntu
Fixed in:6.8.0-1049.52~22.04.1USN-8100-1
linux-image-nvidia-lowlatencyUbuntu
Fixed in:6.8.0-1049.52.1USN-8100-1
linux-image-nvidia-lowlatency-6.8Ubuntu
Fixed in:6.8.0-1049.52.1USN-8100-1
linux-image-nvidia-lowlatency-64kUbuntu
Fixed in:6.8.0-1049.52.1USN-8100-1
linux-image-nvidia-lowlatency-64k-6.8Ubuntu
Fixed in:6.8.0-1049.52.1USN-8100-1
linux-image-oem-22.04Ubuntu
Fixed in:6.8.0-106.106~22.04.1USN-8095-1
linux-image-oem-22.04aUbuntu
Fixed in:6.8.0-106.106~22.04.1USN-8095-1
linux-image-oem-22.04bUbuntu
Fixed in:6.8.0-106.106~22.04.1USN-8095-1
linux-image-oem-22.04cUbuntu
Fixed in:6.8.0-106.106~22.04.1USN-8095-1
linux-image-oem-22.04dUbuntu
Fixed in:6.8.0-106.106~22.04.1USN-8095-1
linux-image-oem-6.17Ubuntu
Fixed in:6.17.0-1011.11USN-8048-1
linux-image-oracleUbuntu
Fixed in:6.8.0-1047.48~22.04.1USN-8095-1
Fixed in:6.17.0-1007.7USN-8029-2
linux-image-oracle-6.17Ubuntu
Fixed in:6.17.0-1007.7USN-8029-2
linux-image-oracle-6.8Ubuntu
Fixed in:6.8.0-1047.48~22.04.1USN-8095-1
Fixed in:6.8.0-1047.48USN-8095-1
linux-image-oracle-64kUbuntu
Fixed in:6.8.0-1047.48~22.04.1USN-8095-1
Fixed in:6.17.0-1007.7USN-8029-2
linux-image-oracle-64k-6.17Ubuntu
Fixed in:6.17.0-1007.7USN-8029-2
linux-image-oracle-64k-6.8Ubuntu
Fixed in:6.8.0-1047.48~22.04.1USN-8095-1
Fixed in:6.8.0-1047.48USN-8095-1
linux-image-oracle-64k-lts-24.04Ubuntu
Fixed in:6.8.0-1047.48USN-8095-1
linux-image-oracle-lts-24.04Ubuntu
Fixed in:6.8.0-1047.48USN-8095-1
linux-image-raspiUbuntu
Fixed in:6.8.0-1050.54USN-8095-5
Fixed in:6.17.0-1008.8USN-8029-1
linux-image-raspi-6.17Ubuntu
Fixed in:6.17.0-1008.8USN-8029-1
linux-image-raspi-6.8Ubuntu
Fixed in:6.8.0-1050.54USN-8095-5
linux-image-raspi-realtimeUbuntu
Fixed in:6.8.0-2040.41USN-8095-5
linux-image-raspi-realtime-6.8Ubuntu
Fixed in:6.8.0-2040.41USN-8095-5
linux-image-realtimeUbuntu
Fixed in:6.8.1-1045.46USN-8095-3
Fixed in:6.17.0-1006.7USN-8029-1
linux-image-realtime-6.17Ubuntu
Fixed in:6.17.0-1006.7USN-8029-1
linux-image-realtime-6.8.1Ubuntu
Fixed in:6.8.1-1045.46~22.04.1USN-8095-3
Fixed in:6.8.1-1045.46USN-8095-3
linux-image-realtime-hwe-22.04Ubuntu
Fixed in:6.8.1-1045.46~22.04.1USN-8095-3
linux-image-virtualUbuntu
Fixed in:6.8.0-106.106USN-8095-1
Fixed in:6.17.0-14.14USN-8029-1
linux-image-virtual-6.17Ubuntu
Fixed in:6.17.0-14.14USN-8029-1
linux-image-virtual-6.8Ubuntu
Fixed in:6.8.0-106.106~22.04.1USN-8095-1
Fixed in:6.8.0-106.106USN-8095-1
linux-image-virtual-hwe-22.04Ubuntu
Fixed in:6.8.0-106.106~22.04.1USN-8095-1
linux-image-xilinxUbuntu
Fixed in:6.8.0.1029.30USN-8261-1
linux-image-xilinx-6.8Ubuntu
Fixed in:6.8.0.1029.30USN-8261-1
linux-image-xilinx-zynqmpUbuntu
Fixed in:6.8.0.1029.30USN-8261-1
linux-lowlatencyUbuntu
Fixed in:6.8.0-106.106.1USN-8095-1
linux-lowlatency-hwe-6.8Ubuntu
Fixed in:6.8.0-106.106.1~22.04.1USN-8095-1
linux-nvidiaUbuntu
Fixed in:6.8.0-1049.52USN-8100-1
linux-nvidia-6.8Ubuntu
Fixed in:6.8.0-1049.52~22.04.1USN-8100-1
linux-nvidia-lowlatencyUbuntu
Fixed in:6.8.0-1049.52.1USN-8100-1
linux-oem-6.17Ubuntu
Fixed in:6.17.0-1011.11USN-8048-1
linux-oracleUbuntu
Fixed in:6.8.0-1047.48USN-8095-1
Fixed in:6.17.0-1007.7USN-8029-2
linux-oracle-6.8Ubuntu
Fixed in:6.8.0-1047.48~22.04.1USN-8095-1
linux-raspiUbuntu
Fixed in:6.8.0-1050.54USN-8095-5
Fixed in:6.17.0-1008.8USN-8029-1
linux-raspi-realtimeUbuntu
Fixed in:6.8.0-2040.41USN-8095-5
linux-realtimeUbuntu
Fixed in:6.8.1-1045.46USN-8095-3
Fixed in:6.17.0-1006.7USN-8029-1
linux-realtime-6.8Ubuntu
Fixed in:6.8.1-1045.46~22.04.1USN-8095-3
linux-xilinxUbuntu
Fixed in:6.8.0-1029.30USN-8261-1

Remediation is compiled from vendor and distribution security advisories. Always confirm against the linked source for your exact version and platform.

CVSS v3 Vector

Exploitability

Attack VectorLocal
Attack ComplexityLow
Privileges RequiredLow
User InteractionNone
ScopeUnchanged

Impact

ConfidentialityNone
IntegrityNone
AvailabilityHigh

CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H

Exploit Intelligence

0.16%probability of exploitation in 30 days
5thpercentile

Low risk: more likely to be exploited than 5% of all known CVEs.

References

Embed a live status badge for CVE-2025-40303
CVE-2025-40303 severity badge

Markdown

[![CVE-2025-40303](https://tridentstack.com/cve/badge/CVE-2025-40303.svg)](https://tridentstack.com/cve/CVE-2025-40303)

HTML

<a href="https://tridentstack.com/cve/CVE-2025-40303"><img src="https://tridentstack.com/cve/badge/CVE-2025-40303.svg" alt="CVE-2025-40303"></a>

Find and fix vulnerabilities across your fleet

TridentStack Control continuously scans your Windows, macOS, and Linux fleet for known vulnerabilities, prioritizes them by severity and active exploitation, and patches them automatically.

Start free

This product uses NVD data but is not endorsed or certified by the NVD. EPSS scores courtesy of FIRST.org (https://www.first.org/epss). Source: CISA KEV Catalog. Data as of 2025-12-08.