CVE-2025-38615

Summary

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

fs/ntfs3: cancle set bad inode after removing name fails

The reproducer uses a file0 on a ntfs3 file system with a corrupted i_link. When renaming, the file0's inode is marked as a bad inode because the file name cannot be deleted.

The underlying bug is that make_bad_inode() is called on a live inode. In some cases it's "icache lookup finds a normal inode, d_splice_alias() is called to attach it to dentry, while another thread decides to call make_bad_inode() on it - that would evict it from icache, but we'd already found it there earlier". In some it's outright "we have an inode attached to dentry - that's how we got it in the first place; let's call make_bad_inode() on it just for shits and giggles".

Affected Software

VendorProductVersion RangeStatus
LinuxLinux78ab59fee07f22464f32eafebab2bd97ba94ff2d < b35a50d639ca5259466ef5fea85529bb4fb17d5baffected
LinuxLinux78ab59fee07f22464f32eafebab2bd97ba94ff2d < 3ed2cc6a6e93fbeb8c0cafce1e7fb1f64a331dccaffected
LinuxLinux78ab59fee07f22464f32eafebab2bd97ba94ff2d < 358d4f821c03add421a4c49290538a705852ccf1affected
LinuxLinux78ab59fee07f22464f32eafebab2bd97ba94ff2d < a285395020780adac1ffbc844069c3d700bf007aaffected
LinuxLinux78ab59fee07f22464f32eafebab2bd97ba94ff2d < d99208b91933fd2a58ed9ed321af07dacd06ddc3affected
LinuxLinux5.15affected
LinuxLinux0 < 5.15unaffected
LinuxLinux6.6.102 <= 6.6.*unaffected
LinuxLinux6.12.42 <= 6.12.*unaffected
LinuxLinux6.15.10 <= 6.15.*unaffected
LinuxLinux6.16.1 <= 6.16.*unaffected
LinuxLinux6.17 <= *unaffected

Weaknesses

References