Skip to content
OpenAdvisories
High · 7.8 CVE-2022-49763 EUVD-2025-12995GHSA-h4jf-hv6r-g8qq

ntfs: fix use-after-free in ntfs_attr_find()

Published May 1, 2025 · Updated Aug 5, 2026 · Assigned by Linux

Vendor: Linux Product: Linux Package: linux Package: linux Package: linux-allwinner-5.19 Package: linux-aws Package: linux-aws-5.0 Package: linux-aws-5.11 Package: linux-aws-5.13 Package: linux-aws-5.15 Package: linux-aws-5.19 Package: linux-aws-5.3 Package: linux-aws-5.4 Package: linux-aws-5.8 Package: linux-aws-6.2 Package: linux-aws-6.5 Package: linux-aws-fips Package: linux-aws-hwe Package: linux-azure Package: linux-azure-4.15 Package: linux-azure-5.11 Package: linux-azure-5.13 Package: linux-azure-5.15 Package: linux-azure-5.19 Package: linux-azure-5.3 Package: linux-azure-5.4 Package: linux-azure-5.8 Package: linux-azure-6.2 Package: linux-azure-6.5 Package: linux-azure-edge Package: linux-azure-fde Package: linux-azure-fde-5.19 Package: linux-azure-fde-6.2 Package: linux-azure-fips Package: linux-bluefield Package: linux-fips Package: linux-gcp Package: linux-gcp-4.15 Package: linux-gcp-5.11 Package: linux-gcp-5.13 Package: linux-gcp-5.15 Package: linux-gcp-5.19 Package: linux-gcp-5.3 Package: linux-gcp-5.4 Package: linux-gcp-5.8 Package: linux-gcp-6.2 Package: linux-gcp-6.5 Package: linux-gcp-fips Package: linux-gke Package: linux-gke-4.15 Package: linux-gke-5.15 Package: linux-gke-5.4 Package: linux-gkeop Package: linux-gkeop-5.15 Package: linux-gkeop-5.4 Package: linux-hwe Package: linux-hwe-5.11 Package: linux-hwe-5.13 Package: linux-hwe-5.15 Package: linux-hwe-5.19 Package: linux-hwe-5.4 Package: linux-hwe-5.8 Package: linux-hwe-6.2 Package: linux-hwe-6.5 Package: linux-hwe-edge Package: linux-ibm Package: linux-ibm-5.4 Package: linux-intel-5.13 Package: linux-intel-iot-realtime Package: linux-intel-iotg Package: linux-intel-iotg-5.15 Package: linux-iot Package: linux-kvm Package: linux-lowlatency Package: linux-lowlatency-hwe-5.15 Package: linux-lowlatency-hwe-5.19 Package: linux-lowlatency-hwe-6.2 Package: linux-lowlatency-hwe-6.5 Package: linux-lts-xenial Package: linux-nvidia Package: linux-nvidia-6.2 Package: linux-nvidia-6.5 Package: linux-nvidia-tegra-5.15 Package: linux-oem Package: linux-oem-5.10 Package: linux-oem-5.13 Package: linux-oem-5.14 Package: linux-oem-5.17 Package: linux-oem-5.6 Package: linux-oem-6.0 Package: linux-oem-6.1 Package: linux-oem-6.5 Package: linux-oracle Package: linux-oracle-5.0 Package: linux-oracle-5.11 Package: linux-oracle-5.13 Package: linux-oracle-5.15 Package: linux-oracle-5.3 Package: linux-oracle-5.4 Package: linux-oracle-5.8 Package: linux-oracle-6.5 Package: linux-raspi Package: linux-raspi-5.4 Package: linux-raspi-realtime Package: linux-raspi2 Package: linux-realtime Package: linux-riscv Package: linux-riscv-5.11 Package: linux-riscv-5.15 Package: linux-riscv-5.19 Package: linux-riscv-5.8 Package: linux-riscv-6.5 Package: linux-starfive-5.19 Package: linux-starfive-6.2 Package: linux-starfive-6.5 Package: linux-vmware Package: linux-xilinx-zynqmp Platform: Linux Ecosystem: Debian Ecosystem: Ubuntu

Description

In the Linux kernel, the following vulnerability has been resolved:

ntfs: fix use-after-free in ntfs_attr_find()

Patch series "ntfs: fix bugs about Attribute", v2.

This patchset fixes three bugs relative to Attribute in record:

Patch 1 adds a sanity check to ensure that, attrs_offset field in first
mft record loading from disk is within bounds.

Patch 2 moves the ATTR_RECORD's bounds checking earlier, to avoid
dereferencing ATTR_RECORD before checking this ATTR_RECORD is within
bounds.

Patch 3 adds an overflow checking to avoid possible forever loop in
ntfs_attr_find().

Without patch 1 and patch 2, the kernel triggersa KASAN use-after-free
detection as reported by Syzkaller.

Although one of patch 1 or patch 2 can fix this, we still need both of
them. Because patch 1 fixes the root cause, and patch 2 not only fixes
the direct cause, but also fixes the potential out-of-bounds bug.

This patch (of 3):

Syzkaller reported use-after-free read as follows:
==================================================================
BUG: KASAN: use-after-free in ntfs_attr_find+0xc02/0xce0 fs/ntfs/attrib.c:597
Read of size 2 at addr ffff88807e352009 by task syz-executor153/3607

[...]
Call Trace:
<TASK>
__dump_stack lib/dump_stack.c:88 [inline]
dump_stack_lvl+0xcd/0x134 lib/dump_stack.c:106
print_address_description mm/kasan/report.c:317 [inline]
print_report.cold+0x2ba/0x719 mm/kasan/report.c:433
kasan_report+0xb1/0x1e0 mm/kasan/report.c:495
ntfs_attr_find+0xc02/0xce0 fs/ntfs/attrib.c:597
ntfs_attr_lookup+0x1056/0x2070 fs/ntfs/attrib.c:1193
ntfs_read_inode_mount+0x89a/0x2580 fs/ntfs/inode.c:1845
ntfs_fill_super+0x1799/0x9320 fs/ntfs/super.c:2854
mount_bdev+0x34d/0x410 fs/super.c:1400
legacy_get_tree+0x105/0x220 fs/fs_context.c:610
vfs_get_tree+0x89/0x2f0 fs/super.c:1530
do_new_mount fs/namespace.c:3040 [inline]
path_mount+0x1326/0x1e20 fs/namespace.c:3370
do_mount fs/namespace.c:3383 [inline]
__do_sys_mount fs/namespace.c:3591 [inline]
__se_sys_mount fs/namespace.c:3568 [inline]
__x64_sys_mount+0x27f/0x300 fs/namespace.c:3568
do_syscall_x64 arch/x86/entry/common.c:50 [inline]
do_syscall_64+0x35/0xb0 arch/x86/entry/common.c:80
entry_SYSCALL_64_after_hwframe+0x63/0xcd
[...]
</TASK>

The buggy address belongs to the physical page:
page:ffffea0001f8d400 refcount:1 mapcount:0 mapping:0000000000000000 index:0x0 pfn:0x7e350
head:ffffea0001f8d400 order:3 compound_mapcount:0 compound_pincount:0
flags: 0xfff00000010200(slab|head|node=0|zone=1|lastcpupid=0x7ff)
raw: 00fff00000010200 0000000000000000 dead000000000122 ffff888011842140
raw: 0000000000000000 0000000000040004 00000001ffffffff 0000000000000000
page dumped because: kasan: bad access detected
Memory state around the buggy address:
ffff88807e351f00: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc
ffff88807e351f80: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc
>ffff88807e352000: fa fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb
^
ffff88807e352080: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb
ffff88807e352100: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb
==================================================================

Kernel will loads $MFT/$DATA's first mft record in
ntfs_read_inode_mount().

Yet the problem is that after loading, kernel doesn't check whether
attrs_offset field is a valid value.

To be more specific, if attrs_offset field is larger than bytes_allocated
field, then it may trigger the out-of-bounds read bug(reported as
use-after-free bug) in ntfs_attr_find(), when kernel tries to access the
corresponding mft record's attribute.

This patch solves it by adding the sanity check between attrs_offset field
and bytes_allocated field, after loading the first mft record.

Affected products

VendorProductAffectedFixed
Linux Linux 2.6.12 4.9.334

Fixed in Linux distributions

Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.

ReleasePackageFixed inAdvisory
Debian 14 linux 6.0.10-1 —
Debian 13 linux 6.0.10-1 —
Debian 12 linux 6.0.10-1 —
ReleasePackageFixed inAdvisory
Ubuntu Nvidia-BlueField 22.04 LTS linux-bluefield 5.15.0-1014.16 —
Ubuntu 24.04 LTS linux-realtime +1 No fix yet —
Ubuntu 22.04 LTS linux +1 5.15.0-67.74 —
Ubuntu 22.04 LTS linux-aws 5.15.0-1031.35 —
Ubuntu 22.04 LTS linux-azure 5.15.0-1034.41 —
Ubuntu 22.04 LTS linux-azure-fde 5.15.0-1034.41.1 —
Ubuntu 22.04 LTS linux-gcp 5.15.0-1030.37 —
Ubuntu 22.04 LTS linux-gke 5.15.0-1028.33 —
Ubuntu 22.04 LTS linux-gkeop 5.15.0-1016.21 —
Ubuntu 22.04 LTS linux-ibm 5.15.0-1026.29 —
Ubuntu 22.04 LTS linux-intel-iotg 5.15.0-1026.31 —
Ubuntu 22.04 LTS linux-kvm 5.15.0-1029.34 —
Ubuntu 22.04 LTS linux-nvidia 5.15.0-1023.23 —
Ubuntu 22.04 LTS linux-oracle 5.15.0-1030.36 —
Ubuntu 22.04 LTS linux-raspi 5.15.0-1025.27 —
Ubuntu 22.04 LTS linux-riscv +31 No fix yet —
Ubuntu 20.04 LTS linux 5.4.0-144.161 —
Ubuntu 20.04 LTS linux-aws 5.4.0-1097.105 —
Ubuntu 20.04 LTS linux-aws-5.15 5.15.0-1031.35~20.04.1 —
Ubuntu 20.04 LTS linux-azure 5.4.0-1104.110 —
Ubuntu 20.04 LTS linux-azure-5.15 5.15.0-1034.41~20.04.1 —
Ubuntu 20.04 LTS linux-bluefield 5.4.0-1059.65 —
Ubuntu 20.04 LTS linux-gcp 5.4.0-1101.110 —
Ubuntu 20.04 LTS linux-gcp-5.15 5.15.0-1030.37~20.04.1 —
Ubuntu 20.04 LTS linux-gke +28 No fix yet —
Ubuntu 20.04 LTS linux-hwe-5.15 +1 5.15.0-67.74~20.04.1 —
Ubuntu 20.04 LTS linux-ibm 5.4.0-1045.50 —
Ubuntu 20.04 LTS linux-intel-iotg-5.15 5.15.0-1026.31~20.04.1 —
Ubuntu 20.04 LTS linux-iot 5.4.0-1013.15 —
Ubuntu 20.04 LTS linux-kvm 5.4.0-1087.93 —
Ubuntu 20.04 LTS linux-nvidia-tegra-5.15 5.15.0-1014.14~20.04.1 —
Ubuntu 20.04 LTS linux-oracle 5.4.0-1094.103 —
Ubuntu 20.04 LTS linux-oracle-5.15 5.15.0-1030.36~20.04.1 —
Ubuntu 20.04 LTS linux-raspi 5.4.0-1081.92 —
Ubuntu 20.04 LTS linux-riscv-5.15 5.15.0-1030.34~20.04.1 —
Ubuntu 20.04 LTS linux-xilinx-zynqmp 5.4.0-1022.26 —
Ubuntu 18.04 LTS linux 4.15.0-206.217 —
Ubuntu 18.04 LTS linux-aws 4.15.0-1151.164 —
Ubuntu 18.04 LTS linux-aws-5.4 5.4.0-1097.105~18.04.1 —
Ubuntu 18.04 LTS linux-azure-4.15 4.15.0-1162.177 —
Ubuntu 18.04 LTS linux-azure-5.4 5.4.0-1104.110~18.04.1 —
Ubuntu 18.04 LTS linux-gcp +14 No fix yet —
Ubuntu 18.04 LTS linux-gcp-4.15 4.15.0-1146.162 —
Ubuntu 18.04 LTS linux-gcp-5.4 5.4.0-1101.110~18.04.1 —
Ubuntu 18.04 LTS linux-hwe-5.4 5.4.0-144.161~18.04.1 —
Ubuntu 18.04 LTS linux-ibm-5.4 5.4.0-1045.50~18.04.1 —
Ubuntu 18.04 LTS linux-kvm 4.15.0-1136.141 —
Ubuntu 18.04 LTS linux-oracle 4.15.0-1115.126 —
Ubuntu 18.04 LTS linux-oracle-5.4 5.4.0-1094.103~18.04.1 —
Ubuntu 18.04 LTS linux-raspi-5.4 5.4.0-1081.92~18.04.1 —
Show 10 more (older releases, extended support, other products)
ReleasePackageFixed inAdvisory
Ubuntu 16.04 LTS linux-hwe-edge No fix yet —
Ubuntu Pro Realtime 22.04 LTS linux-intel-iot-realtime 5.15.0-1022.27 —
Ubuntu Pro Realtime 22.04 LTS linux-realtime 5.15.0-1033.36 —
Ubuntu Pro FIPS 20.04 LTS linux-fips +3 No fix yet —
Ubuntu Pro FIPS 18.04 LTS linux-fips +3 No fix yet —
Ubuntu Pro FIPS 16.04 LTS linux-fips No fix yet —
Ubuntu Pro FIPS-updates 20.04 LTS linux-aws-fips 5.4.0-1099.107+fips1 —
Ubuntu Pro FIPS-updates 20.04 LTS linux-azure-fips 5.4.0-1104.110+fips1 —
Ubuntu Pro FIPS-updates 20.04 LTS linux-fips 5.4.0-1073.82 —
Ubuntu Pro FIPS-updates 20.04 LTS linux-gcp-fips 5.4.0-1101.110+fips1 —
Ubuntu Pro FIPS-updates 18.04 LTS linux-aws-fips 4.15.0-2090.96 —
Ubuntu Pro FIPS-updates 18.04 LTS linux-azure-fips 4.15.0-2071.77 —
Ubuntu Pro FIPS-updates 18.04 LTS linux-fips 4.15.0-1108.119 —
Ubuntu Pro FIPS-updates 18.04 LTS linux-gcp-fips 4.15.0-2055.60 —
Ubuntu Pro FIPS-updates 16.04 LTS linux-fips No fix yet —
Ubuntu Pro 16.04 LTS linux +2 No fix yet —
Ubuntu Pro 16.04 LTS linux-aws-hwe 4.15.0-1151.164~16.04.1 —
Ubuntu Pro 16.04 LTS linux-azure 4.15.0-1162.177~16.04.1 —
Ubuntu Pro 16.04 LTS linux-gcp 4.15.0-1146.162~16.04.1 —
Ubuntu Pro 16.04 LTS linux-hwe 4.15.0-206.217~16.04.1 —
Ubuntu Pro 16.04 LTS linux-oracle 4.15.0-1115.126~16.04.1 —
Ubuntu Pro 14.04 LTS linux +2 No fix yet —
Ubuntu Pro 14.04 LTS linux-azure 4.15.0-1162.177~14.04.1 —
ReleasePackageFixed inAdvisory
SLES 15 SP5 kernel-64kb +6 5.14.21-150500.55.110.1 SUSE-SU-2025:02173-1
SLES 15 SP5 kernel-default-base 5.14.21-150500.55.110.1.150500.6.51.3 SUSE-SU-2025:02173-1
Show 4 more (older releases, extended support, other products)
ReleasePackageFixed inAdvisory
SLES for SAP 15 SP5 kernel-default-base 5.14.21-150500.55.110.1.150500.6.51.3 SUSE-SU-2025:02173-1
SLES for SAP 15 SP5 kernel-docs +4 5.14.21-150500.55.110.1 SUSE-SU-2025:02173-1
SLE Micro 5.5 kernel-default-base 5.14.21-150500.55.110.1.150500.6.51.3 SUSE-SU-2025:02173-1
SLE Micro 5.5 kernel-rt +1 5.14.21-150500.13.97.1 SUSE-SU-2025:01966-1
SLE Micro 5.5 kernel-source +1 5.14.21-150500.55.110.1 SUSE-SU-2025:02173-1
SLE Live Patching 15 SP5 kernel-default 5.14.21-150500.55.110.1 SUSE-SU-2025:02173-1
SLE Live Patching 15 SP5 kernel-livepatch-SLE15-SP5_Update_27 1-150500.11.7.1 SUSE-SU-2025:02173-1
SLE HPC 15 SP5 kernel-64kb +5 5.14.21-150500.55.110.1 SUSE-SU-2025:02173-1
SLE HPC 15 SP5 kernel-default-base 5.14.21-150500.55.110.1.150500.6.51.3 SUSE-SU-2025:02173-1

Amazon Linux

ReleasePackageFixed inAdvisory
Amazon Linux 2 kernel-livepatch-4.14.301-224.520 1.0-0.amzn2 ALAS2-2022-1903
Amazon Linux 2 perf +8 4.14.301-224.520.amzn2 ALAS2-2022-1903

Advisories 3

References