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-livepatch-5.10.224-212.876Upgrade perfUpgrade bpftoolUpgrade python-perfUpgrade kernelUpgrade kernel-tools-develUpgrade kernel-toolsUpgrade kernel-livepatch-5.15.165-110.161Upgrade kernel-headersUpgrade kernel-debuginfoUpgrade kernel-debuginfo-common-x86_64Upgrade perf-debuginfoUpgrade bpftool-debuginfoUpgrade kernel-debuginfo-common-aarch64Upgrade python-perf-debuginfoUpgrade kernel-develUpgrade kernel-tools-debuginfoUpgrade kernel-livepatch-4.14.353-270.569 | May 20, 2026 | May 20, 2026 |
| Amazon_linux_2023 | — | Upgrade kernel-livepatch-6.1.106-116.188Upgrade perfUpgrade kernel-libbpfUpgrade kernel-debuginfoUpgrade kernel-headersUpgrade perf-debuginfoUpgrade kernel-tools-develUpgrade python3-perf-debuginfoUpgrade kernel-modules-extra-commonUpgrade kernel-libbpf-staticUpgrade kernel-debuginfo-common-aarch64Upgrade kernel-debuginfo-common-x86_64Upgrade bpftool-debuginfoUpgrade kernel-libbpf-develUpgrade kernelUpgrade kernel-toolsUpgrade python3-perfUpgrade kernel-modules-extraUpgrade bpftoolUpgrade kernel-develUpgrade kernel-tools-debuginfo | Jul 23, 2025 | Aug 17, 2024 |
| Debian | — | Upgrade linux-6.1Upgrade linux | Sep 2, 2024 | Aug 17, 2024 |
| Huawei Euleros 2_0_sp10 | — | Upgrade python3-perfUpgrade kernelUpgrade kernel-abi-stablelistsUpgrade kernel-toolsUpgrade kernel-tools-libs | Nov 11, 2024 | Aug 17, 2024 |
| Huawei Euleros 2_0_sp12 | — | Upgrade bpftoolUpgrade python3-perfUpgrade kernel-tools-libsUpgrade kernel-toolsUpgrade kernelUpgrade kernel-abi-stablelists | Nov 26, 2024 | Aug 17, 2024 |
| Huawei Euleros 2_0_sp9 | — | Upgrade kernelUpgrade python3-perfUpgrade kernel-tools-libsUpgrade kernel-tools | Nov 11, 2024 | Aug 17, 2024 |
| Oracle_linux | — | Upgrade kernel-uek | Oct 16, 2024 | Aug 17, 2024 |
| Redhat_linux | — | Upgrade kernel-rtUpgrade kernelNo solution exists | May 15, 2025 | Aug 17, 2024 |
| Suse | — | Upgrade kernel-rt_debug-livepatch-develUpgrade dlm-kmp-defaultUpgrade kernel-rt-vdsoUpgrade dtb-amlogicUpgrade kernel-64kb-optionalUpgrade dtb-armUpgrade kernel-azure-baseUpgrade dtb-marvellUpgrade dtb-sprdUpgrade kernel-macrosUpgrade kernel-debug-develUpgrade kernel-default-extraUpgrade dtb-nvidiaUpgrade dtb-amdUpgrade cluster-md-kmp-64kbUpgrade kernel-azure-extraUpgrade dtb-socionextUpgrade dtb-apmUpgrade kernel-default-manUpgrade kernel-kvmsmallUpgrade kernel-rt_debug-vdsoUpgrade kernel-symsUpgrade kernel-defaultUpgrade kernel-rt_debugUpgrade cluster-md-kmp-defaultUpgrade kernel-docs-htmlUpgrade reiserfs-kmp-defaultUpgrade dlm-kmp-azureUpgrade ocfs2-kmp-rtUpgrade dtb-appleUpgrade kernel-rt-livepatch-develUpgrade dlm-kmp-rtUpgrade kernel-azure-vdsoUpgrade dtb-renesasUpgrade dtb-broadcomUpgrade kernel-docsUpgrade kernel-debug-livepatch-develUpgrade kselftests-kmp-rtUpgrade kselftests-kmp-defaultUpgrade reiserfs-kmp-rtUpgrade dtb-hisiliconUpgrade kernel-kvmsmall-vdsoUpgrade kernel-obs-qaUpgrade kernel-default-livepatch-develUpgrade kernel-default-baseUpgrade kernel-64kb-extraUpgrade kernel-syms-rtUpgrade kernel-64kbUpgrade dtb-qcomUpgrade dtb-amazonUpgrade dtb-alteraUpgrade kernel-default-develUpgrade cluster-md-kmp-rtUpgrade cluster-md-kmp-azureUpgrade ocfs2-kmp-defaultUpgrade kernel-default-livepatchUpgrade kernel-syms-azureUpgrade gfs2-kmp-defaultUpgrade dtb-xilinxUpgrade ocfs2-kmp-64kbUpgrade kernel-kvmsmall-develUpgrade kernel-rt-optionalUpgrade kselftests-kmp-64kbUpgrade kernel-rt_debug-develUpgrade kernel-obs-buildUpgrade kernel-devel-rtUpgrade kernel-azure-optionalUpgrade kernel-develUpgrade dtb-rockchipUpgrade dtb-lgUpgrade kernel-rt-extraUpgrade dtb-mediatekUpgrade kernel-source-rtUpgrade kernel-kvmsmall-livepatch-develUpgrade kernel-source-vanillaUpgrade kernel-source-azureUpgrade kernel-64kb-develUpgrade kernel-default-base-rebuildUpgrade kernel-zfcpdumpUpgrade dtb-allwinnerUpgrade dlm-kmp-64kbUpgrade kernel-devel-azureUpgrade kernel-default-vdsoUpgrade kernel-rtUpgrade kernel-sourceUpgrade dtb-freescaleUpgrade kernel-debugUpgrade gfs2-kmp-rtUpgrade gfs2-kmp-64kbUpgrade kernel-rt-develUpgrade kernel-rt-livepatchUpgrade kernel-64kb-livepatch-develUpgrade reiserfs-kmp-64kbUpgrade kernel-debug-vdsoUpgrade dtb-exynosUpgrade kernel-azureUpgrade ocfs2-kmp-azureUpgrade kselftests-kmp-azureUpgrade reiserfs-kmp-azureUpgrade kernel-azure-develUpgrade dtb-caviumUpgrade gfs2-kmp-azureUpgrade kernel-azure-livepatch-develUpgrade kernel-default-optional | Dec 5, 2025 | Jun 3, 2025 |
| Ubuntu | — | Upgrade linux-image-raspi-hwe-18.04Upgrade linux-image-nvidia-64kUpgrade linux-image-azure-cvmUpgrade linux-image-lowlatency-64k-hwe-22.04Upgrade linux-image-generic-64k-hwe-24.04Upgrade linux-image-5.15.0-1067-intel-iotgUpgrade linux-image-nvidia-hwe-22.04Upgrade linux-image-oem-20.04cUpgrade linux-image-5.4.0-1119-raspiUpgrade linux-image-gkeop-5.15Upgrade linux-image-5.15.0-1075-azureUpgrade linux-image-oracle-64kUpgrade linux-image-5.4.0-1139-azureUpgrade linux-image-awsUpgrade linux-image-generic-hwe-22.04Upgrade linux-image-virtual-hwe-22.04Upgrade linux-image-oem-osp1Upgrade linux-image-azureUpgrade linux-image-aws-lts-20.04Upgrade linux-image-oem-20.04dUpgrade linux-image-6.8.0-50-genericUpgrade linux-image-oracle-lts-22.04Upgrade linux-image-lowlatency-64k-hwe-24.04Upgrade linux-image-6.8.0-50-lowlatencyUpgrade linux-image-oem-22.04dUpgrade linux-image-oem-22.04bUpgrade linux-image-generic-hwe-24.04Upgrade linux-image-virtual-hwe-20.04Upgrade linux-image-5.15.0-1069-kvmUpgrade linux-image-6.8.0-1019-nvidia-lowlatency-64kUpgrade linux-image-6.8.0-1020-azure-fdeUpgrade linux-image-6.8.0-1019-gcpUpgrade linux-image-5.15.0-1078-azureUpgrade linux-image-5.4.0-200-generic-lpaeUpgrade linux-image-azure-fdeUpgrade linux-image-6.8.0-1017-oracle-64kUpgrade linux-image-ibm-lts-24.04Upgrade linux-image-6.8.0-1017-oracleUpgrade linux-image-5.4.0-1094-bluefieldUpgrade linux-image-6.8.0-50-lowlatency-64kUpgrade linux-image-generic-hwe-18.04Upgrade linux-image-5.15.0-1070-oracleUpgrade linux-image-6.8.0-1019-nvidiaUpgrade linux-image-6.8.0-1019-nvidia-lowlatencyUpgrade linux-image-virtual-hwe-18.04Upgrade linux-image-gcpUpgrade linux-image-raspi2Upgrade linux-image-oem-22.04cUpgrade linux-image-kvmUpgrade linux-image-6.8.0-1016-raspiUpgrade linux-image-aws-lts-22.04Upgrade linux-image-generic-lpae-hwe-20.04Upgrade linux-image-5.4.0-1134-oracleUpgrade linux-image-generic-64k-hwe-22.04Upgrade linux-image-raspiUpgrade linux-image-generic-hwe-20.04Upgrade linux-image-virtual-hwe-24.04Upgrade linux-image-oem-24.04aUpgrade linux-image-nvidia-64k-hwe-22.04Upgrade linux-image-5.15.0-1069-gkeUpgrade linux-image-lowlatency-64k-hwe-20.04Upgrade linux-image-5.15.0-1071-gcpUpgrade linux-image-azure-lts-20.04Upgrade linux-image-ibmUpgrade linux-image-snapdragon-hwe-18.04Upgrade linux-image-6.8.0-1020-awsUpgrade linux-image-intelUpgrade linux-image-virtualUpgrade linux-image-5.4.0-200-genericUpgrade linux-image-lowlatency-hwe-24.04Upgrade linux-image-gke-5.15Upgrade linux-image-6.8.0-1015-gkeUpgrade linux-image-lowlatency-64kUpgrade linux-image-6.8.0-1002-gkeopUpgrade linux-image-gkeUpgrade linux-image-nvidiaUpgrade linux-image-oem-24.04Upgrade linux-image-oem-22.04aUpgrade linux-image-oracle-lts-20.04Upgrade linux-image-oracleUpgrade linux-image-5.15.0-1067-nvidia-lowlatencyUpgrade linux-image-oem-20.04Upgrade linux-image-5.15.0-125-lowlatency-64kUpgrade linux-image-nvidia-6.8Upgrade linux-image-5.15.0-1065-ibmUpgrade linux-image-azure-lts-22.04Upgrade linux-image-5.15.0-125-lowlatencyUpgrade linux-image-genericUpgrade linux-image-5.4.0-1123-kvmUpgrade linux-image-5.15.0-1055-gkeopUpgrade linux-image-gkeop-5.4Upgrade linux-image-6.8.0-1017-ibmUpgrade linux-image-5.15.0-125-generic-64kUpgrade linux-image-5.4.0-1140-azureUpgrade linux-image-6.8.0-50-generic-64kUpgrade linux-image-5.4.0-1135-awsUpgrade linux-image-lowlatency-hwe-18.04Upgrade linux-image-5.15.0-1065-raspiUpgrade linux-image-5.4.0-1102-gkeopUpgrade linux-image-5.4.0-1054-xilinx-zynqmpUpgrade linux-image-nvidia-lowlatency-64kUpgrade linux-image-lowlatency-hwe-20.04Upgrade linux-image-generic-64k-hwe-20.04Upgrade linux-image-bluefieldUpgrade linux-image-6.8.0-1018-oemUpgrade linux-image-xilinx-zynqmpUpgrade linux-image-5.4.0-200-lowlatencyUpgrade linux-image-ibm-classicUpgrade linux-image-oem-22.04Upgrade linux-image-lowlatency-hwe-22.04Upgrade linux-image-5.4.0-1139-gcpUpgrade linux-image-5.15.0-1067-nvidiaUpgrade linux-image-lowlatencyUpgrade linux-image-intel-iotgUpgrade linux-image-nvidia-64k-6.8Upgrade linux-image-gkeop-6.8Upgrade linux-image-5.15.0-1038-xilinx-zynqmpUpgrade linux-image-generic-64kUpgrade linux-image-5.15.0-1072-awsUpgrade linux-image-5.4.0-1082-ibmUpgrade linux-image-oem-20.04bUpgrade linux-image-5.15.0-125-genericUpgrade linux-image-6.8.0-1020-azureUpgrade linux-image-oemUpgrade linux-image-generic-lpaeUpgrade linux-image-5.15.0-125-generic-lpaeUpgrade linux-image-ibm-lts-20.04Upgrade linux-image-gcp-lts-20.04Upgrade linux-image-gkeopUpgrade linux-image-raspi-nolpaeUpgrade linux-image-nvidia-lowlatencyUpgrade linux-image-6.8.0-1019-nvidia-64kUpgrade 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