Linux: ntfs: do not mark the volume clean in sync_fs when errors were recorded
What fixes it
- 0e4c839905418d55bafe571a92533a1d1ac7b0a8LinuxCVE List
A fixed version on one release line is not the upgrade target for every line. Check your exact version and any vendor backports.
Description
In the Linux kernel, the following vulnerability has been resolved:
ntfs: do not mark the volume clean in sync_fs when errors were recorded
ntfs_put_super() and the remount-read-only path both clear the dirty bit only when NVolErrors(vol) is false. ntfs_sync_fs() clears it unconditionally, so any sync() on a volume that recorded an error marks that volume clean. A volume without this set is then seen as not needing recovery and it does not run one, so whatever went wrong is never repaired.
This change skips resetting the dirty bit when there are volume errors.
Reproduced on a volume whose $MFTMirr does not match $MFT, which sets the error flag while leaving the mount read-write: after a write and a sync, the on-disk volume flags read 0x0000 with this driver and 0x0001 with the guard in place.
Text from CVE List
Affected versions 6
- Linuxaffected: 6251f0b0de7d645e3591931ca4c11d8322c1866f before ca1f9933eff777a604eb664d0f9ae433b8664cbfCVE List
- Linuxaffected: 6251f0b0de7d645e3591931ca4c11d8322c1866f before 0e4c839905418d55bafe571a92533a1d1ac7b0a8CVE List
- Linuxaffected: 7.1CVE List
- Linuxunaffected: all versions before 7.1CVE List
- Linuxunaffected: 7.2.7 through 7.2.*CVE List
- Linuxunaffected: 7.3CVE List