In the Linux kernel, the following vulnerability has been resolved:
netfs: Fix netfs_invalidate_folio() to clear dirty bit if all changes gone
If a streaming write is made, this will leave the relevant modified folio in a not-uptodate, but dirty state with a netfs_folio struct hung off of folio->private indicating the dirty range. Subsequently truncating the file such that the dirty data in the folio is removed, but the first part of the folio theoretically remains will cause the netfs_folio struct to be discarded... but will leave the dirty flag set.
If the folio is then read via mmap(), netfs_read_folio() will see that the page is dirty and jump to netfs_read_gaps() to fill in the missing bits. netfs_read_gaps(), however, expects there to be a netfs_folio struct present and can oops because truncate removed it.
Fix this by calling folio_cancel_dirty() in netfs_invalidate_folio() in the event that all the dirty data in the folio is erased (as nfs does).
Also add some tracepoints to log modifications to a dirty page.
This can be reproduced with something like:
dd if=/dev/zero of=/xfstest.test/foo bs=1M count=1 umount /xfstest.test mount /xfstest.test xfs_io -c "w 0xbbbf 0xf96c" \ -c "truncate 0xbbbf" \ -c "mmap -r 0xb000 0x11000" \ -c "mr 0xb000 0x11000" \ /xfstest.test/foo
with fscaching disabled (otherwise streaming writes are suppressed) and a change to netfs_perform_write() to disallow streaming writes if the fd is open O_RDWR:
if (//(file->f_mode & FMODE_READ) || <--- comment this out netfs_is_cache_enabled(ctx)) {
It should be reproducible even without this change, but if prevents the above trivial xfs_io command from reproducing it.
Note that the initial dd is important: the file must start out sufficiently large that the zero-point logic doesn't just clear the gaps because it knows there's nothing in the file to read yet. Unmounting and mounting is needed to clear the pagecache (there are other ways to do that that may also work).
This was initially reproduced with the generic/522 xfstest on some patches that remove the FMODE_READ restriction.
CVSS Details
- CVSS 3.1 Base Score: 5.5
- CVSS 3.1 Vector: (CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H)
Covered by Rapid7
| Product | Vendor Advisory | Solution File | Added | Published |
|---|---|---|---|---|
| Amazon_linux_2023 | — | Upgrade python3-perf6.18-debuginfoUpgrade kernel6.18-tools-debuginfoUpgrade kernel6.18-modules-extra-commonUpgrade bpftool6.18Upgrade kernel6.18-debuginfo-common-aarch64Upgrade perf6.18Upgrade kernel-livepatch-6.18.35-68.127Upgrade python3-perf6.18Upgrade kernel6.18-modules-extraUpgrade kernel6.18-tools-develUpgrade kernel6.18-debuginfoUpgrade kernel6.18-debuginfo-common-x86_64Upgrade kernel6.18-toolsUpgrade microvm-kernel6.18Upgrade kernel6.18Upgrade perf6.18-debuginfoUpgrade kernel6.18-develUpgrade bpftool6.18-debuginfoUpgrade kernel6.18-headers | Aug 10, 2026 | Jul 19, 2026 |
| Debian | — | Upgrade linux | Jul 23, 2026 | Jul 23, 2026 |
| Ubuntu | — | Upgrade linux-image-6.8.0-1049-gkeopUpgrade linux-image-oracle-7.0Upgrade linux-image-raspiUpgrade linux-image-gcp-fipsUpgrade linux-image-azure-fdeUpgrade linux-image-aws-64k-6.8Upgrade linux-image-azure-fde-7.0Upgrade linux-image-virtual-6.8Upgrade linux-image-xilinxUpgrade linux-image-oracle-64k-6.8Upgrade linux-image-6.8.0-1067-azureUpgrade linux-image-gke-6.8Upgrade linux-image-nvidia-bos-64k-7.0Upgrade linux-image-generic-lpaeUpgrade linux-image-6.8.0-139-lowlatencyUpgrade linux-image-nvidia-7.0Upgrade linux-image-realtime-6.8.1Upgrade linux-image-6.8.0-1062-gke-64kUpgrade linux-image-6.8.0-1067-gcp-64kUpgrade linux-image-awsUpgrade linux-image-nvidia-tegraUpgrade linux-image-7.0.0-1011-gcpUpgrade linux-image-nvidia-64k-hwe-22.04Upgrade linux-image-aws-64k-lts-24.04Upgrade linux-image-7.0.0-1011-gcp-64kUpgrade linux-image-generic-64kUpgrade linux-image-ibm-classicUpgrade linux-image-azureUpgrade linux-image-6.8.0-1062-nvidia-64kUpgrade linux-image-6.8.0-1062-nvidia-lowlatencyUpgrade linux-image-6.8.0-1035-nvidia-tegraUpgrade linux-image-6.8.0-1067-gcpUpgrade linux-image-nvidiaUpgrade linux-image-nvidia-bosUpgrade linux-image-6.8.0-2053-raspi-realtimeUpgrade linux-image-raspi-realtime-6.8Upgrade linux-image-gcpUpgrade linux-image-generic-64k-6.8Upgrade linux-image-azure-lts-24.04Upgrade linux-image-gke-64kUpgrade linux-image-6.8.0-139-fipsUpgrade linux-image-6.8.0-139-lowlatency-64kUpgrade linux-image-7.0.0-1011-oracleUpgrade linux-image-7.0.0-1008-oracle-64kUpgrade linux-image-nvidia-lowlatencyUpgrade linux-image-7.0.0-1016-nvidia-64kUpgrade linux-image-aws-fips-6.8Upgrade linux-image-6.8.0-1036-xilinxUpgrade linux-image-7.0.0-1008-oracleUpgrade linux-image-6.8.0-1064-aws-64kUpgrade linux-image-azure-fipsUpgrade linux-image-ibm-6.8Upgrade linux-image-oracle-64kUpgrade linux-image-azure-fips-6.8Upgrade linux-image-6.8.0-1064-aws-fipsUpgrade linux-image-lowlatencyUpgrade linux-image-kvmUpgrade linux-image-nvidia-64kUpgrade linux-image-7.0.0-1009-awsUpgrade linux-image-nvidia-64k-7.0Upgrade linux-image-oracle-64k-lts-24.04Upgrade linux-image-aws-6.8Upgrade linux-image-gkeop-6.8Upgrade linux-image-generic-6.8Upgrade linux-image-oracle-64k-7.0Upgrade linux-image-ibm-lts-24.04Upgrade linux-image-ibm-7.0Upgrade linux-image-raspi-realtimeUpgrade linux-image-azure-7.0Upgrade linux-image-fips-6.8Upgrade linux-image-7.0.0-2016-nvidia-bosUpgrade linux-image-ibmUpgrade linux-image-6.8.0-1062-gkeUpgrade linux-image-nvidia-bos-64kUpgrade linux-image-nvidia-lowlatency-64kUpgrade linux-image-6.8.0-139-genericUpgrade linux-image-lowlatency-hwe-22.04Upgrade linux-image-nvidia-64k-6.8Upgrade linux-image-aws-64k-7.0Upgrade linux-image-7.0.0-1016-nvidiaUpgrade linux-image-lowlatency-64kUpgrade linux-image-aws-64kUpgrade linux-image-6.8.0-1035-nvidia-tegra-rtUpgrade linux-image-oracleUpgrade linux-image-fipsUpgrade linux-image-7.0.0-1015-raspi-realtimeUpgrade linux-image-6.8.0-1067-azure-fipsUpgrade linux-image-6.8.0-1062-nvidiaUpgrade linux-image-nvidia-bos-7.0Upgrade linux-image-6.8.0-1061-oracle-64kUpgrade linux-image-7.0.0-1011-oracle-64kUpgrade linux-image-7.0.0-1010-azureUpgrade linux-image-6.8.0-1064-raspiUpgrade linux-image-xilinx-6.8Upgrade linux-image-nvidia-tegra-rt-6.8Upgrade linux-image-nvidia-6.8Upgrade linux-image-lowlatency-64k-hwe-22.04Upgrade linux-image-lowlatency-6.8Upgrade linux-image-aws-lts-24.04Upgrade linux-image-gkeopUpgrade linux-image-nvidia-hwe-22.04Upgrade linux-image-aws-fipsUpgrade linux-image-raspi-realtime-7.0Upgrade linux-image-gkeUpgrade linux-image-gcp-lts-24.04Upgrade linux-image-gke-64k-6.8Upgrade linux-image-gcp-64kUpgrade linux-image-nvidia-tegra-6.8Upgrade linux-image-intel-iotgUpgrade linux-image-gcp-7.0Upgrade linux-image-nvidia-hwe-26.04Upgrade linux-image-nvidia-64k-hwe-26.04Upgrade linux-image-gcp-64k-7.0Upgrade linux-image-6.8.0-1061-oracleUpgrade linux-image-raspi-6.8Upgrade linux-image-intel-iot-realtimeUpgrade linux-image-genericUpgrade linux-image-6.8.0-139-generic-64kUpgrade linux-image-azure-6.8Upgrade linux-image-lowlatency-64k-6.8Upgrade linux-image-7.0.0-1010-ibmUpgrade linux-image-7.0.0-1009-aws-64kUpgrade linux-image-6.8.1-1059-realtimeUpgrade linux-image-6.8.0-1067-gcp-fipsUpgrade linux-image-6.8.0-1064-ibmUpgrade linux-image-6.8.0-1062-nvidia-lowlatency-64kUpgrade linux-image-oracle-lts-24.04Upgrade linux-image-nvidia-tegra-rtUpgrade linux-image-7.0.0-1014-azureUpgrade linux-image-xilinx-zynqmpUpgrade linux-image-realtime-hwe-22.04Upgrade linux-image-realtimeUpgrade linux-image-laptop-23.10Upgrade linux-image-gcp-64k-6.8Upgrade linux-image-gcp-6.8Upgrade linux-image-raspi-7.0Upgrade linux-image-aws-7.0Upgrade linux-image-7.0.0-1009-azure-fdeUpgrade linux-image-6.8.0-1064-awsUpgrade linux-image-virtualUpgrade linux-image-nvidia-lowlatency-6.8Upgrade linux-image-gcp-fips-6.8Upgrade linux-image-gcp-64k-lts-24.04Upgrade linux-image-7.0.0-2016-nvidia-bos-64kUpgrade linux-image-7.0.0-1015-raspiUpgrade linux-image-oracle-6.8Upgrade linux-image-nvidia-lowlatency-64k-6.8 | Jul 21, 2026 | Jul 20, 2026 |
| Vmware Photon_os | — | Use 'tdnf update' to upgrade all packages to the latest version. | Aug 3, 2026 | Jul 19, 2026 |
Prioritise with Active Threat Intelligence
With curated Threat Intelligence, you can see which vulnerabilities truly put you at risk, prioritize what matters most, and act before attackers do.
Explore Intelligence Hub