Severity by source
AV:L/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Local physical/media path via automount justifies AV:L and UI:R (device insertion); PR:N reflects the automount case; kernel-memory OOB write supports full C/I/A:H.
Primary rating from Vendor (Linux).
CVSS VectorVendor: Linux
Lifecycle Timeline
5DescriptionCVE.org
In the Linux kernel, the following vulnerability has been resolved:
fs/ntfs3: reject restart table growth beyond U16_MAX entries
During $LogFile replay, log_replay() indexes the transaction table by the transact_id taken from the log record header. check_log_rec() only verifies that transact_id is non-zero and properly aligned, not its magnitude, so a crafted image can request an arbitrarily large index.
alloc_rsttbl_from_idx() grows the table to cover that index via extend_rsttbl(), which passes the new entry count to init_rsttbl():
rt = init_rsttbl(esize, used + add);
used + add is computed as u32 but init_rsttbl() takes a u16, and the count is stored in struct RESTART_TABLE as a __le16. When used + add exceeds U16_MAX it is truncated, init_rsttbl() allocates a table far smaller than the index requires, and alloc_rsttbl_from_idx() then dereferences and writes at the original, untruncated offset -- an out-of-bounds access past the allocation, reachable by mounting a crafted NTFS image.
BUG: KASAN: use-after-free in alloc_rsttbl_from_idx (fs/ntfs3/fslog.c:950) Read of size 4 at addr ffff8880327ffff8 by task exploit alloc_rsttbl_from_idx (fs/ntfs3/fslog.c:950) log_replay (fs/ntfs3/fslog.c:4562) ntfs_loadlog_and_replay (fs/ntfs3/fsntfs.c:324) ntfs_fill_super (fs/ntfs3/super.c:1393) get_tree_bdev_flags vfs_get_tree path_mount __x64_sys_mount
A restart table is limited to U16_MAX entries by its __le16 count, so a larger growth request is invalid input. Reject it in extend_rsttbl(); all callers already handle a NULL return.
AnalysisAI
Mounting a crafted NTFS filesystem image can corrupt Linux kernel memory through the in-kernel fs/ntfs3 driver, where an integer truncation in restart-table growth (a u32 'used + add' cast to the u16 __le16 count of struct RESTART_TABLE) produces an undersized allocation that is subsequently written past its bounds during $LogFile replay. The issue is local and requires an attacker-supplied image to actually be mounted: on default configurations this needs mount privileges (CAP_SYS_ADMIN/root), while the unprivileged path depends on a USB-automount daemon plus physical insertion of the media, so it is not remotely reachable. …
Unlock full vulnerability intelligence
- Risk assessment & exploitation conditions
- Attack chain visualization
- Remediation with exact patch versions
- Threat intelligence from 22 sources
- Personal watchlist & email alerts
Free forever · No credit card required
Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata
Vulnerability AssessmentAI
| Exploitation | Requires the fs/ntfs3 driver and the ability to mount an attacker-controlled NTFS filesystem image containing a crafted $LogFile whose log-record header supplies a transact_id large enough that used+add exceeds U16_MAX during restart-table growth. … Additional conditions and limiting factors are described in the full assessment. |
| Risk Assessment | The input CVSS 3.1 vector (AV:L/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H = 8.4) rates this as high-severity local memory corruption, and the mechanism is genuine: an integer truncation (u32 used+add cast to u16 __le16 count) in fs/ntfs3 log_replay causes init_rsttbl() to underallocate while alloc_rsttbl_from_idx() writes at the untruncated offset, yielding a KASAN-confirmed out-of-bounds/use-after-free. … Full risk analysis with EPSS, KEV, and SSVC signal comparison available after sign-in. |
| Exploit Scenario | Full exploit scenario with step-by-step reproduction available after sign-in. |
| Remediation | Apply the vendor-released kernel patch (Linux 5.15.221, 6.1.188, 6.6.157, 6.12.110, 6.18.52 or 7.2.6; 7.3-rc1 in mainline), or cherry-pick the backport commits published at git.kernel.org/stable/c/caa0ec3fc44a13d7c21d78e4722f4f05f87ccf56, .../339e59996ff193adcf1c438cf05f19e753beb3a7, .../ecde45cd81dc28f5696c312c5ce5a509962e9ab1, .../be218a01aadffe33ed4fc73e25276d676ebbd09d, .../aad605a450611e2a7b7cf9dd5724004d39192bfb, .../967a5ff8a614d10126b6d46db1ac040948d6cb42 and .../111f8d74a19d85942ecbb3aba78f6f3c88e59391, with details in the vendor advisory at https://nvd.nist.gov/vuln/detail/CVE-2026-89782. … Detailed patch versions, workarounds, and compensating controls in full report. |
Recommended ActionAI
Within 24 hours, inventory all Linux assets running kernels with the ntfs3 driver and confirm which are below the fixed releases: 5.15.221, 6.1.188, 6.6.157, 6.12.110, 6.18.52, or 7.2.6 (mainline 7.3-rc1 also contains the fix); prioritize internet-facing, multi-tenant, and removable-media-handling hosts, and as an immediate stopgap disable the ntfs3 module (blacklist/remove ntfs3) or restrict mount privileges to trusted administrators and disable USB auto-mount daemons on sensitive systems. …
Sign in for detailed remediation steps and compensating controls.
Threat intelligence, references, and detailed analysis are available after sign-in.
Same technique Buffer Overflow
View allShare
External POC / Exploit Code
Leaving vuln.today
EUVD-2026-80303
GHSA-q8vr-48qg-6qfp