fat: avoid parent link count underflow in rmdir
In the Linux kernel, the following vulnerability has been resolved: fat: avoid parent link count underflow in rmdir Corrupted FAT images can leave a directory inode with an incorrect i_nlink (e.g. 2 even though subdirectories exist). rmdir then unconditionally calls drop_nlink(dir) and can drive i_nlink to 0, triggering the WARN_ON in drop_nlink(). Add a sanity check in vfat_rmdir() and msdos_rmdir(): only drop the parent link count when it is at least 3, otherwise report a filesystem error.
02 / AFFECTED SOFTWARE
Affected packages
1694 explicit affected versions
03 / CONNECTIONS
Connected vulnerabilities
04 / EVIDENCE
Source records
In the Linux kernel, the following vulnerability has been resolved: fat: avoid parent link count underflow in rmdir Corrupted FAT images can leave a directory inode with an incorrect i_nlink (e.g. 2 even though subdirectories exist). rmdir then unconditionally calls drop_nlink(dir) and can drive i_nlink to 0, triggering the WARN_ON in drop_nlink(). Add a sanity check in vfat_rmdir() and msdos_rmdir(): only drop the parent link count when it is at least 3, otherwise report a filesystem error.
05 / REFERENCES
Further evidence
- https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
- https://git.kernel.org/stable/c/17866f8a0822d414cb02e621cf003a7d04396ef8
- https://git.kernel.org/stable/c/7fe0de287e931e07cb96ecf1f449b2ebdb0e1115
- https://git.kernel.org/stable/c/8cafcb881364af5ef3a8b9fed4db254054033d8a
- https://git.kernel.org/stable/c/955c5d670b5ae07c78f4345e23a895638db96ce1
- https://git.kernel.org/stable/c/9894c79fd9466612d0514be157b5c30cd93aa645
- https://git.kernel.org/stable/c/cd569b87378b9c33ae13c23d6bb9d205d66f7c4b
- https://git.kernel.org/stable/c/d0bb592fa9def2bace90ac8926c0a1d6fa8c1aa0
- https://git.kernel.org/stable/c/d3b7ffa90f613938128432c7b2f35b7aa4bdd86b
- https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/45xxx/CVE-2026-45915.json
- https://nvd.nist.gov/vuln/detail/CVE-2026-45915