In the Linux kernel, the following vulnerability has been resolved:
ext4: check dot and dotdot of dx_root before making dir indexed
Syzbot reports a issue as follows: ============================================ BUG: unable to handle page fault for address: ffffed11022e24fe PGD 23ffee067 P4D 23ffee067 PUD 0 Oops: Oops: 0000 [#1] PREEMPT SMP KASAN PTI CPU: 0 PID: 5079 Comm: syz-executor306 Not tainted 6.10.0-rc5-g55027e689933 #0 Call Trace: <TASK> make_indexed_dir+0xdaf/0x13c0 fs/ext4/namei.c:2341 ext4_add_entry+0x222a/0x25d0 fs/ext4/namei.c:2451 ext4_rename fs/ext4/namei.c:3936 [inline] ext4_rename2+0x26e5/0x4370 fs/ext4/namei.c:4214 [...] ============================================
The immediate cause of this problem is that there is only one valid dentry for the block to be split during do_split, so split==0 results in out of bounds accesses to the map triggering the issue.
do_split unsigned split dx_make_map count = 1 split = count/2 = 0; continued = hash2 == map[split - 1].hash; ---> map[4294967295]
The maximum length of a filename is 255 and the minimum block size is 1024, so it is always guaranteed that the number of entries is greater than or equal to 2 when do_split() is called.
But syzbot's crafted image has no dot and dotdot in dir, and the dentry distribution in dirblock is as follows:
bus dentry1 hole dentry2 free |xx--|xx-------------|...............|xx-------------|...............| 0 12 (8+248)=256 268 256 524 (8+256)=264 788 236 1024
So when renaming dentry1 increases its name_len length by 1, neither hole nor free is sufficient to hold the new dentry, and make_indexed_dir() is called.
In make_indexed_dir() it is assumed that the first two entries of the dirblock must be dot and dotdot, so bus and dentry1 are left in dx_root because they are treated as dot and dotdot, and only dentry2 is moved to the new leaf block. That's why count is equal to 1.
Therefore add the ext4_check_dx_root() helper function to add more sanity checks to dot and dotdot before starting the conversion to avoid the above issue.
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 Ami 2 | — | Upgrade kernel-tools-develUpgrade python-perfUpgrade kernel-livepatch-5.10.224-212.876Upgrade perfUpgrade bpftoolUpgrade kernel-toolsUpgrade kernelUpgrade bpftool-debuginfoUpgrade kernel-debuginfoUpgrade kernel-develUpgrade kernel-headersUpgrade kernel-debuginfo-common-x86_64Upgrade kernel-livepatch-4.14.353-270.569Upgrade kernel-debuginfo-common-aarch64Upgrade perf-debuginfoUpgrade kernel-livepatch-5.15.165-110.161Upgrade python-perf-debuginfoUpgrade kernel-tools-debuginfo | May 20, 2026 | May 20, 2026 |
| Amazon_linux_2023 | — | Upgrade perf-debuginfoUpgrade kernel-headersUpgrade perfUpgrade kernel-tools-develUpgrade kernel-debuginfoUpgrade kernel-livepatch-6.1.106-116.188Upgrade kernel-libbpfUpgrade python3-perfUpgrade kernel-modules-extraUpgrade bpftool-debuginfoUpgrade bpftoolUpgrade kernel-toolsUpgrade python3-perf-debuginfoUpgrade kernel-tools-debuginfoUpgrade kernel-libbpf-staticUpgrade kernel-modules-extra-commonUpgrade kernel-debuginfo-common-aarch64Upgrade kernel-debuginfo-common-x86_64Upgrade kernelUpgrade kernel-develUpgrade kernel-libbpf-devel | Jul 23, 2025 | Aug 17, 2024 |
| Debian | — | Upgrade linux-6.1Upgrade linux | Sep 2, 2024 | Aug 17, 2024 |
| Huawei Euleros 2_0_sp10 | — | Upgrade kernel-tools-libsUpgrade python3-perfUpgrade kernel-abi-stablelistsUpgrade kernelUpgrade kernel-tools | Nov 11, 2024 | Aug 17, 2024 |
| Huawei Euleros 2_0_sp12 | — | Upgrade kernelUpgrade kernel-toolsUpgrade kernel-tools-libsUpgrade bpftoolUpgrade python3-perfUpgrade kernel-abi-stablelists | Nov 26, 2024 | Aug 17, 2024 |
| Huawei Euleros 2_0_sp9 | — | Upgrade kernelUpgrade python3-perfUpgrade kernel-toolsUpgrade kernel-tools-libs | Nov 11, 2024 | Aug 17, 2024 |
| Oracle_linux | — | Upgrade kernel-uek | Oct 16, 2024 | Aug 17, 2024 |
| Redhat_linux | — | Upgrade kernelUpgrade kernel-rtNo solution exists | May 15, 2025 | Aug 17, 2024 |
| Suse | — | Upgrade kernel-kvmsmall-vdsoUpgrade reiserfs-kmp-rtUpgrade dtb-hisiliconUpgrade kernel-syms-rtUpgrade dtb-appleUpgrade kernel-rt-livepatch-develUpgrade dtb-broadcomUpgrade kernel-docs-htmlUpgrade kernel-azure-vdsoUpgrade kernel-default-extraUpgrade ocfs2-kmp-rtUpgrade kernel-default-livepatch-develUpgrade kernel-64kb-extraUpgrade reiserfs-kmp-defaultUpgrade dtb-nvidiaUpgrade dtb-socionextUpgrade kernel-azure-baseUpgrade kernel-rt_debugUpgrade kernel-symsUpgrade cluster-md-kmp-64kbUpgrade dtb-armUpgrade kernel-obs-qaUpgrade kernel-64kb-optionalUpgrade dtb-apmUpgrade kernel-rt_debug-vdsoUpgrade kernel-defaultUpgrade dtb-renesasUpgrade kernel-default-baseUpgrade kselftests-kmp-rtUpgrade kernel-debug-livepatch-develUpgrade kernel-default-manUpgrade dlm-kmp-rtUpgrade kselftests-kmp-defaultUpgrade dtb-amdUpgrade cluster-md-kmp-defaultUpgrade kernel-kvmsmallUpgrade kernel-azure-extraUpgrade kernel-rt_debug-livepatch-develUpgrade dlm-kmp-defaultUpgrade kernel-rt-vdsoUpgrade dtb-sprdUpgrade dlm-kmp-azureUpgrade kernel-macrosUpgrade kernel-debug-develUpgrade dtb-amlogicUpgrade dtb-marvellUpgrade kernel-docsUpgrade kernel-zfcpdumpUpgrade dtb-caviumUpgrade kernel-obs-buildUpgrade dtb-mediatekUpgrade kselftests-kmp-64kbUpgrade kernel-kvmsmall-develUpgrade kernel-default-base-rebuildUpgrade gfs2-kmp-defaultUpgrade kernel-debugUpgrade kernel-default-vdsoUpgrade kernel-rtUpgrade dtb-alteraUpgrade reiserfs-kmp-azureUpgrade kernel-azure-develUpgrade kernel-sourceUpgrade kernel-devel-azureUpgrade dtb-qcomUpgrade dtb-amazonUpgrade cluster-md-kmp-azureUpgrade ocfs2-kmp-defaultUpgrade cluster-md-kmp-rtUpgrade kernel-default-optionalUpgrade kernel-syms-azureUpgrade kernel-default-livepatchUpgrade kernel-default-develUpgrade kernel-azure-livepatch-develUpgrade gfs2-kmp-azureUpgrade kernel-rt_debug-develUpgrade kernel-rt-optionalUpgrade kernel-rt-extraUpgrade kernel-devel-rtUpgrade kernel-azure-optionalUpgrade kernel-64kbUpgrade reiserfs-kmp-64kbUpgrade ocfs2-kmp-azureUpgrade kselftests-kmp-azureUpgrade kernel-rt-livepatchUpgrade kernel-rt-develUpgrade kernel-debug-vdsoUpgrade kernel-azureUpgrade kernel-64kb-livepatch-develUpgrade gfs2-kmp-rtUpgrade dtb-exynosUpgrade gfs2-kmp-64kbUpgrade dtb-freescaleUpgrade dtb-allwinnerUpgrade dlm-kmp-64kbUpgrade kernel-kvmsmall-livepatch-develUpgrade kernel-develUpgrade kernel-source-azureUpgrade kernel-source-vanillaUpgrade kernel-64kb-develUpgrade dtb-rockchipUpgrade dtb-lgUpgrade kernel-source-rtUpgrade ocfs2-kmp-64kbUpgrade dtb-xilinx | Dec 5, 2025 | Jun 3, 2025 |
| Ubuntu | — | Upgrade linux-image-6.8.0-1016-raspiUpgrade linux-image-oem-22.04bUpgrade linux-image-azureUpgrade linux-image-oem-20.04dUpgrade linux-image-virtual-hwe-20.04Upgrade linux-image-6.8.0-50-lowlatencyUpgrade linux-image-5.4.0-1139-azureUpgrade linux-image-gcpUpgrade linux-image-6.8.0-1020-azure-fdeUpgrade linux-image-lowlatency-64k-hwe-24.04Upgrade linux-image-generic-lpae-hwe-20.04Upgrade linux-image-oem-osp1Upgrade linux-image-oracle-lts-22.04Upgrade linux-image-5.15.0-1069-kvmUpgrade linux-image-aws-lts-20.04Upgrade linux-image-generic-hwe-24.04Upgrade linux-image-oracle-64kUpgrade linux-image-virtual-hwe-22.04Upgrade linux-image-oem-22.04cUpgrade linux-image-5.15.0-1075-azureUpgrade linux-image-5.4.0-1119-raspiUpgrade linux-image-oem-24.04aUpgrade linux-image-gkeop-5.15Upgrade linux-image-raspi2Upgrade linux-image-aws-lts-22.04Upgrade linux-image-generic-64k-hwe-22.04Upgrade linux-image-awsUpgrade linux-image-5.4.0-1134-oracleUpgrade linux-image-raspi-hwe-18.04Upgrade linux-image-5.15.0-1067-intel-iotgUpgrade linux-image-azure-cvmUpgrade linux-image-6.8.0-1019-nvidia-lowlatency-64kUpgrade linux-image-6.8.0-1019-gcpUpgrade linux-image-lowlatency-64k-hwe-22.04Upgrade linux-image-oem-20.04cUpgrade linux-image-raspiUpgrade linux-image-6.8.0-50-genericUpgrade linux-image-oem-22.04dUpgrade linux-image-generic-64k-hwe-24.04Upgrade linux-image-6.8.0-1019-nvidia-lowlatencyUpgrade linux-image-6.8.0-50-lowlatency-64kUpgrade linux-image-ibm-lts-24.04Upgrade linux-image-generic-hwe-22.04Upgrade linux-image-virtual-hwe-24.04Upgrade linux-image-6.8.0-1019-nvidiaUpgrade linux-image-nvidia-hwe-22.04Upgrade linux-image-6.8.0-1017-oracle-64kUpgrade linux-image-azure-fdeUpgrade linux-image-5.15.0-1070-oracleUpgrade linux-image-nvidia-64kUpgrade linux-image-generic-hwe-18.04Upgrade linux-image-5.4.0-200-generic-lpaeUpgrade linux-image-5.15.0-1078-azureUpgrade linux-image-6.8.0-1017-oracleUpgrade linux-image-5.4.0-1094-bluefieldUpgrade linux-image-generic-hwe-20.04Upgrade linux-image-kvmUpgrade linux-image-virtual-hwe-18.04Upgrade linux-image-6.8.0-50-generic-64kUpgrade linux-image-raspi-nolpaeUpgrade linux-image-6.8.0-1017-ibmUpgrade linux-image-5.4.0-1054-xilinx-zynqmpUpgrade linux-image-5.4.0-1102-gkeopUpgrade linux-image-6.8.0-1020-azureUpgrade linux-image-5.4.0-1140-azureUpgrade linux-image-ibmUpgrade linux-image-5.15.0-1065-raspiUpgrade linux-image-lowlatency-hwe-18.04Upgrade linux-image-azure-lts-20.04Upgrade linux-image-5.4.0-1135-awsUpgrade linux-image-nvidia-64k-hwe-22.04Upgrade linux-image-intelUpgrade linux-image-5.4.0-200-genericUpgrade linux-image-oem-22.04Upgrade linux-image-generic-lpaeUpgrade linux-image-virtualUpgrade linux-image-oemUpgrade linux-image-gcp-lts-20.04Upgrade linux-image-nvidia-lowlatencyUpgrade linux-image-5.15.0-1065-ibmUpgrade linux-image-5.15.0-1069-gkeUpgrade linux-image-lowlatency-hwe-22.04Upgrade linux-image-xilinx-zynqmpUpgrade linux-image-gkeop-5.4Upgrade linux-image-ibm-classicUpgrade linux-image-6.8.0-1015-gkeUpgrade linux-image-genericUpgrade linux-image-5.15.0-125-generic-64kUpgrade linux-image-lowlatency-hwe-24.04Upgrade linux-image-5.4.0-1123-kvmUpgrade linux-image-lowlatency-hwe-20.04Upgrade linux-image-gkeopUpgrade linux-image-nvidia-64k-6.8Upgrade linux-image-generic-64kUpgrade linux-image-nvidia-6.8Upgrade linux-image-5.15.0-125-lowlatency-64kUpgrade linux-image-5.15.0-1038-xilinx-zynqmpUpgrade linux-image-intel-iotgUpgrade linux-image-5.15.0-1072-awsUpgrade linux-image-5.4.0-1139-gcpUpgrade linux-image-lowlatencyUpgrade linux-image-gkeop-6.8Upgrade linux-image-5.15.0-1067-nvidiaUpgrade linux-image-bluefieldUpgrade linux-image-oem-20.04Upgrade linux-image-oracleUpgrade linux-image-oem-22.04aUpgrade linux-image-gkeUpgrade linux-image-6.8.0-1002-gkeopUpgrade linux-image-oracle-lts-20.04Upgrade linux-image-5.4.0-200-lowlatencyUpgrade linux-image-6.8.0-1018-oemUpgrade linux-image-nvidia-lowlatency-64kUpgrade linux-image-generic-64k-hwe-20.04Upgrade linux-image-5.15.0-125-lowlatencyUpgrade linux-image-oem-20.04bUpgrade linux-image-5.15.0-1067-nvidia-lowlatencyUpgrade linux-image-azure-lts-22.04Upgrade linux-image-6.8.0-1019-nvidia-64kUpgrade linux-image-nvidiaUpgrade linux-image-oem-24.04Upgrade linux-image-5.4.0-1082-ibmUpgrade linux-image-lowlatency-64kUpgrade linux-image-5.15.0-1055-gkeopUpgrade linux-image-5.15.0-1071-gcpUpgrade linux-image-lowlatency-64k-hwe-20.04Upgrade linux-image-snapdragon-hwe-18.04Upgrade linux-image-ibm-lts-20.04Upgrade linux-image-5.15.0-125-generic-lpaeUpgrade linux-image-gke-5.15Upgrade linux-image-5.15.0-125-genericUpgrade linux-image-6.8.0-1020-awsUpgrade linux-image-gcp-lts-22.04Upgrade linux-image-5.4.0-1044-iot | Nov 4, 2024 | Aug 17, 2024 |
| Vmware Photon_os | — | Use 'tdnf update' to upgrade all packages to the latest version. | Jan 20, 2025 | Aug 17, 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