In the Linux kernel, the following vulnerability has been resolved:
nilfs2: fix failure to detect DAT corruption in btree and direct mappings
Patch series "nilfs2: fix kernel bug at submit_bh_wbc()".
This resolves a kernel BUG reported by syzbot. Since there are two flaws involved, I've made each one a separate patch.
The first patch alone resolves the syzbot-reported bug, but I think both fixes should be sent to stable, so I've tagged them as such.
This patch (of 2):
Syzbot has reported a kernel bug in submit_bh_wbc() when writing file data to a nilfs2 file system whose metadata is corrupted.
There are two flaws involved in this issue.
The first flaw is that when nilfs_get_block() locates a data block using btree or direct mapping, if the disk address translation routine nilfs_dat_translate() fails with internal code -ENOENT due to DAT metadata corruption, it can be passed back to nilfs_get_block(). This causes nilfs_get_block() to misidentify an existing block as non-existent, causing both data block lookup and insertion to fail inconsistently.
The second flaw is that nilfs_get_block() returns a successful status in this inconsistent state. This causes the caller __block_write_begin_int() or others to request a read even though the buffer is not mapped, resulting in a BUG_ON check for the BH_Mapped flag in submit_bh_wbc() failing.
This fixes the first issue by changing the return value to code -EINVAL when a conversion using DAT fails with code -ENOENT, avoiding the conflicting condition that leads to the kernel bug described above. Here, code -EINVAL indicates that metadata corruption was detected during the block lookup, which will be properly handled as a file system error and converted to -EIO when passing through the nilfs2 bmap layer.
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 |
|---|---|---|---|---|
| Amazon Linux Ami 2 | — | Upgrade python-perfUpgrade kernelUpgrade kernel-debuginfo-common-x86_64Upgrade bpftool-debuginfoUpgrade kernel-headersUpgrade python-perf-debuginfoUpgrade kernel-tools-debuginfoUpgrade perf-debuginfoUpgrade kernel-livepatch-4.14.345-262.561Upgrade kernel-livepatch-5.10.215-203.850Upgrade kernel-debuginfoUpgrade perfUpgrade kernel-tools-develUpgrade kernel-develUpgrade kernel-debuginfo-common-aarch64Upgrade bpftoolUpgrade kernel-tools | Aug 14, 2024 | May 1, 2024 |
| Debian | — | Upgrade linux | May 8, 2024 | May 1, 2024 |
| Suse | — | Upgrade kernel-azure-livepatch-develUpgrade kernel-azure-vdsoUpgrade dtb-amlogicUpgrade kernel-kvmsmall-develUpgrade kernel-azure-extraUpgrade dtb-broadcomUpgrade ocfs2-kmp-64kbUpgrade kernel-syms-rtUpgrade dlm-kmp-defaultUpgrade kernel-kvmsmallUpgrade dtb-appleUpgrade gfs2-kmp-rtUpgrade kernel-docsUpgrade kernel-syms-azureUpgrade kernel-default-extraUpgrade dtb-amdUpgrade cluster-md-kmp-defaultUpgrade kernel-obs-qaUpgrade kselftests-kmp-defaultUpgrade dtb-armUpgrade kernel-obs-buildUpgrade ocfs2-kmp-rtUpgrade kernel-azure-develUpgrade kernel-rt-optionalUpgrade reiserfs-kmp-rtUpgrade kernel-rtUpgrade dtb-apmUpgrade kernel-rt_debug-vdsoUpgrade kernel-kvmsmall-livepatch-develUpgrade kernel-macrosUpgrade dtb-socionextUpgrade kernel-defaultUpgrade kernel-docs-htmlUpgrade gfs2-kmp-64kbUpgrade reiserfs-kmp-64kbUpgrade kernel-rt_debugUpgrade dtb-marvellUpgrade kernel-rt-livepatch-develUpgrade kernel-debug-livepatch-develUpgrade kernel-devel-azureUpgrade kernel-source-rtUpgrade kernel-64kb-livepatch-develUpgrade kernel-zfcpdumpUpgrade dlm-kmp-azureUpgrade kselftests-kmp-rtUpgrade cluster-md-kmp-azureUpgrade kernel-rt-vdsoUpgrade kernel-kvmsmall-vdsoUpgrade dtb-qcomUpgrade dtb-hisiliconUpgrade dtb-mediatekUpgrade reiserfs-kmp-defaultUpgrade ocfs2-kmp-azureUpgrade kselftests-kmp-64kbUpgrade kernel-sourceUpgrade kernel-default-optionalUpgrade ocfs2-kmp-defaultUpgrade kernel-devel-rtUpgrade kernel-default-vdsoUpgrade kernel-64kb-optionalUpgrade gfs2-kmp-azureUpgrade dtb-rockchipUpgrade kernel-symsUpgrade dtb-allwinnerUpgrade kernel-default-develUpgrade kernel-default-base-rebuildUpgrade dlm-kmp-rtUpgrade kernel-rt-extraUpgrade kernel-64kbUpgrade cluster-md-kmp-64kbUpgrade dtb-freescaleUpgrade dtb-nvidiaUpgrade kernel-rt-develUpgrade kernel-default-livepatchUpgrade kernel-develUpgrade kernel-debug-vdsoUpgrade dlm-kmp-64kbUpgrade dtb-renesasUpgrade reiserfs-kmp-azureUpgrade dtb-xilinxUpgrade cluster-md-kmp-rtUpgrade kernel-debugUpgrade kernel-64kb-develUpgrade kernel-source-vanillaUpgrade kernel-azureUpgrade gfs2-kmp-defaultUpgrade dtb-caviumUpgrade dtb-lgUpgrade kernel-64kb-extraUpgrade kernel-azure-optionalUpgrade kernel-source-azureUpgrade kernel-debug-develUpgrade kselftests-kmp-azureUpgrade kernel-rt_debug-livepatch-develUpgrade kernel-rt-livepatchUpgrade kernel-default-livepatch-develUpgrade kernel-default-baseUpgrade dtb-exynosUpgrade dtb-amazonUpgrade dtb-alteraUpgrade kernel-rt_debug-develUpgrade dtb-sprd | May 15, 2024 | May 1, 2024 |
| Ubuntu | — | Upgrade linux-image-lowlatency-64kUpgrade linux-image-6.8.0-35-generic-64kUpgrade linux-image-5.4.0-189-genericUpgrade linux-image-5.4.0-1116-kvmUpgrade linux-image-oracleUpgrade linux-image-bluefieldUpgrade linux-image-raspi-nolpaeUpgrade linux-image-6.8.0-1004-gkeUpgrade linux-image-5.15.0-1063-oracleUpgrade linux-image-gcp-lts-22.04Upgrade linux-image-virtual-hwe-18.04Upgrade linux-image-5.15.0-1062-gkeUpgrade linux-image-5.15.0-116-generic-lpaeUpgrade linux-image-6.8.0-1005-raspiUpgrade linux-image-5.4.0-1075-ibmUpgrade linux-image-generic-lpaeUpgrade linux-image-ibm-lts-24.04Upgrade linux-image-azure-lts-20.04Upgrade linux-image-5.15.0-1068-azureUpgrade linux-image-gke-5.15Upgrade linux-image-awsUpgrade linux-image-5.15.0-1058-raspiUpgrade linux-image-6.8.0-1008-azure-fdeUpgrade linux-image-5.15.0-116-lowlatency-64kUpgrade linux-image-6.8.0-35-lowlatencyUpgrade linux-image-6.8.0-1006-oracle-64kUpgrade linux-image-5.4.0-1095-gkeopUpgrade linux-image-oracle-lts-20.04Upgrade linux-image-oemUpgrade linux-image-aws-lts-20.04Upgrade linux-image-5.15.0-1060-nvidia-lowlatencyUpgrade linux-image-lowlatency-64k-hwe-20.04Upgrade linux-image-generic-64k-hwe-24.04Upgrade linux-image-5.15.0-1062-kvmUpgrade linux-image-raspi-hwe-18.04Upgrade linux-image-5.15.0-1065-gcpUpgrade linux-image-azure-fdeUpgrade linux-image-generic-64k-hwe-20.04Upgrade linux-image-5.4.0-1112-raspiUpgrade linux-image-5.4.0-1133-azureUpgrade linux-image-nvidia-lowlatencyUpgrade linux-image-5.15.0-1058-ibmUpgrade linux-image-5.4.0-189-lowlatencyUpgrade linux-image-azure-cvmUpgrade linux-image-6.8.0-1006-oemUpgrade linux-image-oem-20.04dUpgrade linux-image-oracle-64kUpgrade linux-image-ibmUpgrade linux-image-6.8.0-1008-azureUpgrade linux-image-gkeopUpgrade linux-image-gkeop-5.15Upgrade linux-image-5.4.0-1127-oracleUpgrade linux-image-5.4.0-1128-awsUpgrade linux-image-azure-lts-22.04Upgrade linux-image-azureUpgrade linux-image-6.8.0-1008-gcpUpgrade linux-image-snapdragon-hwe-18.04Upgrade linux-image-gkeUpgrade linux-image-ibm-lts-20.04Upgrade linux-image-5.15.0-1068-azure-fdeUpgrade linux-image-5.15.0-1060-intel-iotgUpgrade linux-image-ibm-classicUpgrade linux-image-virtual-hwe-24.04Upgrade linux-image-5.4.0-1047-xilinx-zynqmpUpgrade linux-image-kvmUpgrade linux-image-5.15.0-1035-xilinx-zynqmpUpgrade linux-image-6.8.0-1006-ibmUpgrade linux-image-genericUpgrade linux-image-gkeop-5.4Upgrade linux-image-generic-64kUpgrade linux-image-gcpUpgrade linux-image-oem-24.04Upgrade linux-image-intel-iotgUpgrade linux-image-generic-hwe-18.04Upgrade linux-image-lowlatencyUpgrade linux-image-5.15.0-1065-awsUpgrade linux-image-oem-20.04Upgrade linux-image-5.15.0-116-generic-64kUpgrade linux-image-6.8.0-35-genericUpgrade linux-image-6.8.0-35-lowlatency-64kUpgrade linux-image-5.15.0-116-genericUpgrade linux-image-azure-fde-lts-22.04Upgrade linux-image-oem-24.04aUpgrade linux-image-intelUpgrade linux-image-xilinx-zynqmpUpgrade linux-image-5.4.0-1088-bluefieldUpgrade linux-image-oem-osp1Upgrade linux-image-oem-20.04cUpgrade linux-image-5.15.0-116-lowlatencyUpgrade linux-image-5.4.0-189-generic-lpaeUpgrade linux-image-5.15.0-1064-gcpUpgrade linux-image-raspi2Upgrade linux-image-virtualUpgrade linux-image-oracle-lts-22.04Upgrade linux-image-gcp-lts-20.04Upgrade linux-image-raspiUpgrade linux-image-oem-20.04bUpgrade linux-image-generic-lpae-hwe-20.04Upgrade linux-image-5.15.0-1048-gkeopUpgrade linux-image-aws-lts-22.04Upgrade linux-image-5.4.0-1132-gcpUpgrade linux-image-lowlatency-hwe-20.04Upgrade linux-image-6.8.0-1009-awsUpgrade linux-image-virtual-hwe-20.04Upgrade linux-image-generic-hwe-24.04Upgrade linux-image-5.15.0-1060-nvidiaUpgrade linux-image-nvidiaUpgrade linux-image-5.4.0-1040-iotUpgrade linux-image-6.8.0-1006-oracleUpgrade linux-image-lowlatency-hwe-18.04Upgrade linux-image-generic-hwe-20.04 | Jul 1, 2024 | May 1, 2024 |
| Vmware Photon_os | — | Use 'tdnf update' to upgrade all packages to the latest version. | Jan 20, 2025 | 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