In the Linux kernel, the following vulnerability has been resolved:
cifs: Fix writeback data corruption
cifs writeback doesn't correctly handle the case where cifs_extend_writeback() hits a point where it is considering an additional folio, but this would overrun the wsize - at which point it drops out of the xarray scanning loop and calls xas_pause(). The problem is that xas_pause() advances the loop counter - thereby skipping that page.
What needs to happen is for xas_reset() to be called any time we decide we don't want to process the page we're looking at, but rather send the request we are building and start a new one.
Fix this by copying and adapting the netfslib writepages code as a temporary measure, with cifs writeback intending to be offloaded to netfslib in the near future.
This also fixes the issue with the use of filemap_get_folios_tag() causing retry of a bunch of pages which the extender already dealt with.
This can be tested by creating, say, a 64K file somewhere not on cifs (otherwise copy-offload may get underfoot), mounting a cifs share with a wsize of 64000, copying the file to it and then comparing the original file and the copy:
dd if=/dev/urandom of=/tmp/64K bs=64k count=1 mount //192.168.6.1/test /mnt -o user=...,pass=...,wsize=64000 cp /tmp/64K /mnt/64K cmp /tmp/64K /mnt/64K
Without the fix, the cmp fails at position 64000 (or shortly thereafter).
CVSS Details
- CVSS 3.1 Base Score: 7.8
- CVSS 3.1 Vector: (CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H)
Covered by Rapid7
| Product | Vendor Advisory | Solution File | Added | Published |
|---|---|---|---|---|
| Debian | — | Upgrade linux | Jul 27, 2026 | Jul 27, 2026 |
| Redhat_linux | — | No solution exists | Jul 9, 2025 | May 1, 2024 |
| Suse | — | Upgrade dtb-lgUpgrade kernel-azure-optionalUpgrade kernel-debug-vdsoUpgrade dtb-xilinxUpgrade kernel-debugUpgrade dtb-caviumUpgrade dtb-nvidiaUpgrade kselftests-kmp-azureUpgrade kernel-sourceUpgrade kernel-source-azureUpgrade cluster-md-kmp-64kbUpgrade kernel-defaultUpgrade dtb-alteraUpgrade dtb-mediatekUpgrade kernel-64kb-optionalUpgrade kernel-source-vanillaUpgrade dlm-kmp-64kbUpgrade kernel-default-baseUpgrade kernel-default-livepatch-develUpgrade kernel-64kb-extraUpgrade ocfs2-kmp-defaultUpgrade ocfs2-kmp-azureUpgrade dtb-hisiliconUpgrade dtb-renesasUpgrade dtb-freescaleUpgrade gfs2-kmp-azureUpgrade reiserfs-kmp-azureUpgrade kernel-azureUpgrade dtb-amdUpgrade kernel-debug-develUpgrade kernel-default-develUpgrade dtb-allwinnerUpgrade kernel-default-vdsoUpgrade dtb-amazonUpgrade dtb-sprdUpgrade gfs2-kmp-defaultUpgrade reiserfs-kmp-defaultUpgrade dtb-armUpgrade kselftests-kmp-64kbUpgrade kernel-default-livepatchUpgrade kernel-default-optionalUpgrade dtb-exynosUpgrade kernel-64kb-develUpgrade kernel-develUpgrade kernel-symsUpgrade dtb-qcomUpgrade dtb-marvellUpgrade gfs2-kmp-64kbUpgrade kernel-kvmsmallUpgrade dtb-amlogicUpgrade dtb-socionextUpgrade kernel-64kb-livepatch-develUpgrade kernel-zfcpdumpUpgrade kernel-default-extraUpgrade cluster-md-kmp-azureUpgrade kernel-azure-develUpgrade kernel-debug-livepatch-develUpgrade kernel-kvmsmall-develUpgrade kselftests-kmp-defaultUpgrade kernel-syms-azureUpgrade ocfs2-kmp-64kbUpgrade kernel-obs-qaUpgrade kernel-macrosUpgrade kernel-docs-htmlUpgrade kernel-default-base-rebuildUpgrade kernel-azure-vdsoUpgrade dtb-appleUpgrade dtb-broadcomUpgrade kernel-azure-livepatch-develUpgrade kernel-azure-extraUpgrade dlm-kmp-defaultUpgrade cluster-md-kmp-defaultUpgrade kernel-kvmsmall-vdsoUpgrade kernel-devel-azureUpgrade kernel-64kbUpgrade dlm-kmp-azureUpgrade kernel-docsUpgrade reiserfs-kmp-64kbUpgrade kernel-obs-buildUpgrade dtb-rockchipUpgrade dtb-apmUpgrade kernel-kvmsmall-livepatch-devel | Jun 24, 2024 | May 1, 2024 |
| Ubuntu | — | Upgrade linux-image-lowlatency-64kUpgrade linux-image-6.8.0-1005-raspiUpgrade linux-image-6.8.0-1006-oracleUpgrade linux-image-6.8.0-1006-ibmUpgrade linux-image-6.8.0-35-generic-64kUpgrade linux-image-6.8.0-1008-azureUpgrade linux-image-6.8.0-1006-oracle-64kUpgrade linux-image-azureUpgrade linux-image-raspiUpgrade linux-image-azure-fdeUpgrade linux-image-ibm-classicUpgrade linux-image-lowlatencyUpgrade linux-image-generic-64kUpgrade linux-image-ibmUpgrade linux-image-kvmUpgrade linux-image-ibm-lts-24.04Upgrade linux-image-6.8.0-1008-gcpUpgrade linux-image-6.8.0-35-genericUpgrade linux-image-6.8.0-1006-oemUpgrade linux-image-generic-hwe-24.04Upgrade linux-image-generic-lpaeUpgrade linux-image-6.8.0-35-lowlatency-64kUpgrade linux-image-6.8.0-1008-azure-fdeUpgrade linux-image-gcpUpgrade linux-image-oem-24.04Upgrade linux-image-oem-24.04aUpgrade linux-image-gkeUpgrade linux-image-oracle-64kUpgrade linux-image-virtualUpgrade linux-image-awsUpgrade linux-image-virtual-hwe-24.04Upgrade linux-image-generic-64k-hwe-24.04Upgrade linux-image-6.8.0-35-lowlatencyUpgrade linux-image-genericUpgrade linux-image-6.8.0-1004-gkeUpgrade linux-image-oracleUpgrade linux-image-6.8.0-1009-aws | Jul 1, 2024 | May 1, 2024 |
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