CVE-2026-45915 PUBLISHED

fat: avoid parent link count underflow in rmdir

Assigner: Linux
Reserved: 13.05.2026 Published: 27.05.2026 Updated: 27.05.2026

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.

Product Status

Vendor Linux
Product Linux
Versions Default: unaffected
  • affected from 9a53c3a783c2fa9b969628e65695c11c3e51e673 to 7fe0de287e931e07cb96ecf1f449b2ebdb0e1115 (excl.)
  • affected from 9a53c3a783c2fa9b969628e65695c11c3e51e673 to 9894c79fd9466612d0514be157b5c30cd93aa645 (excl.)
  • affected from 9a53c3a783c2fa9b969628e65695c11c3e51e673 to cd569b87378b9c33ae13c23d6bb9d205d66f7c4b (excl.)
  • affected from 9a53c3a783c2fa9b969628e65695c11c3e51e673 to d3b7ffa90f613938128432c7b2f35b7aa4bdd86b (excl.)
  • affected from 9a53c3a783c2fa9b969628e65695c11c3e51e673 to 955c5d670b5ae07c78f4345e23a895638db96ce1 (excl.)
  • affected from 9a53c3a783c2fa9b969628e65695c11c3e51e673 to 17866f8a0822d414cb02e621cf003a7d04396ef8 (excl.)
  • affected from 9a53c3a783c2fa9b969628e65695c11c3e51e673 to d0bb592fa9def2bace90ac8926c0a1d6fa8c1aa0 (excl.)
  • affected from 9a53c3a783c2fa9b969628e65695c11c3e51e673 to 8cafcb881364af5ef3a8b9fed4db254054033d8a (excl.)
Vendor Linux
Product Linux
Versions Default: affected
  • Version 2.6.19 is affected
  • unaffected from 0 to 2.6.19 (excl.)
  • unaffected from 5.10.252 to 5.10.* (incl.)
  • unaffected from 5.15.202 to 5.15.* (incl.)
  • unaffected from 6.1.165 to 6.1.* (incl.)
  • unaffected from 6.6.128 to 6.6.* (incl.)
  • unaffected from 6.12.75 to 6.12.* (incl.)
  • unaffected from 6.18.14 to 6.18.* (incl.)
  • unaffected from 6.19.4 to 6.19.* (incl.)
  • unaffected from 7.0 to * (incl.)

References