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-xilinxUpgrade gfs2-kmp-azureUpgrade dtb-caviumUpgrade dtb-freescaleUpgrade kselftests-kmp-azureUpgrade kernel-azureUpgrade kernel-debug-develUpgrade dtb-amdUpgrade ocfs2-kmp-azureUpgrade dtb-lgUpgrade dtb-mediatekUpgrade dtb-renesasUpgrade kernel-64kb-optionalUpgrade dtb-hisiliconUpgrade kernel-default-livepatch-develUpgrade kernel-sourceUpgrade kernel-default-baseUpgrade kernel-source-vanillaUpgrade kernel-debugUpgrade kernel-debug-vdsoUpgrade ocfs2-kmp-defaultUpgrade reiserfs-kmp-azureUpgrade reiserfs-kmp-defaultUpgrade kernel-source-azureUpgrade dtb-amazonUpgrade kernel-defaultUpgrade kernel-default-optionalUpgrade kernel-default-vdsoUpgrade kselftests-kmp-64kbUpgrade dlm-kmp-64kbUpgrade kernel-azure-optionalUpgrade kernel-64kb-extraUpgrade dtb-alteraUpgrade dtb-sprdUpgrade gfs2-kmp-defaultUpgrade dtb-nvidiaUpgrade kernel-default-develUpgrade dtb-armUpgrade kernel-develUpgrade kernel-default-livepatchUpgrade dtb-exynosUpgrade kernel-64kb-develUpgrade dtb-allwinnerUpgrade kernel-symsUpgrade cluster-md-kmp-64kbUpgrade kernel-docsUpgrade reiserfs-kmp-64kbUpgrade kernel-zfcpdumpUpgrade kernel-macrosUpgrade kernel-docs-htmlUpgrade kernel-default-base-rebuildUpgrade kernel-kvmsmall-vdsoUpgrade kernel-64kbUpgrade dtb-qcomUpgrade kernel-kvmsmallUpgrade kernel-debug-livepatch-develUpgrade kernel-kvmsmall-develUpgrade kernel-azure-livepatch-develUpgrade kernel-64kb-livepatch-develUpgrade kernel-azure-extraUpgrade dtb-amlogicUpgrade dlm-kmp-defaultUpgrade kernel-obs-buildUpgrade dlm-kmp-azureUpgrade dtb-broadcomUpgrade kernel-devel-azureUpgrade dtb-socionextUpgrade gfs2-kmp-64kbUpgrade cluster-md-kmp-azureUpgrade cluster-md-kmp-defaultUpgrade kernel-azure-develUpgrade dtb-rockchipUpgrade dtb-marvellUpgrade dtb-apmUpgrade kernel-kvmsmall-livepatch-develUpgrade kernel-default-extraUpgrade kernel-azure-vdsoUpgrade dtb-appleUpgrade ocfs2-kmp-64kbUpgrade kselftests-kmp-defaultUpgrade kernel-syms-azureUpgrade kernel-obs-qa | Jun 24, 2024 | May 1, 2024 |
| Ubuntu | — | Upgrade linux-image-oracle-64kUpgrade linux-image-6.8.0-1008-azure-fdeUpgrade linux-image-oem-24.04aUpgrade linux-image-virtual-hwe-24.04Upgrade linux-image-gkeUpgrade linux-image-virtualUpgrade linux-image-generic-lpaeUpgrade linux-image-oem-24.04Upgrade linux-image-generic-64k-hwe-24.04Upgrade linux-image-gcpUpgrade linux-image-oracleUpgrade linux-image-6.8.0-1009-awsUpgrade linux-image-6.8.0-35-lowlatency-64kUpgrade linux-image-6.8.0-1006-oemUpgrade linux-image-6.8.0-35-lowlatencyUpgrade linux-image-genericUpgrade linux-image-6.8.0-1004-gkeUpgrade linux-image-generic-hwe-24.04Upgrade linux-image-awsUpgrade linux-image-ibmUpgrade linux-image-6.8.0-1005-raspiUpgrade linux-image-6.8.0-1006-ibmUpgrade linux-image-lowlatencyUpgrade linux-image-6.8.0-1006-oracleUpgrade linux-image-6.8.0-35-generic-64kUpgrade linux-image-ibm-classicUpgrade linux-image-6.8.0-35-genericUpgrade linux-image-ibm-lts-24.04Upgrade linux-image-generic-64kUpgrade linux-image-6.8.0-1008-azure | 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