__legitimize_mnt(): check for MNT_SYNC_UMOUNT should be under mount_lock
- Published
- Last modified
- Where the record stands: published, rejected by its publisher, or superseded by another id.What do these mean? →
- published
- Whether CISA lists it in its Known Exploited Vulnerabilities catalog: proof that attackers are using it.What do these mean? →
- Not listed in CISA KEV
- Fix
- Fixed in 5.4.294, 5.10.238, 5.15.185, 6.1.141, 6.6.93, and 2 more
- Whether working attack code is public (Exploit-DB, Metasploit, Nuclei or GitHub). Public code makes attacks easier.What do these mean? →
- None on Exploit-DB, Metasploit or GitHub
- Exploitation: none
- Automatable: no
- Technical impact: total
Summary
In the Linux kernel, the following vulnerability has been resolved: __legitimize_mnt(): check for MNT_SYNC_UMOUNT should be under mount_lock ... or we risk stealing final mntput from sync umount - raising mnt_count after umount(2) has verified that victim is not busy, but before it has set MNT_SYNC_UMOUNT; in that case __legitimize_mnt() doesn't see that it's safe to quietly undo mnt_count increment and leaves dropping the reference to caller, where it'll be a full-blown mntput(). Check under mount_lock is needed; leaving the current one done before taking that makes no sense - it's nowhere near common enough to bother with.
Timeline
- CVE published
- CISA SSVC assessment
Exploitation: none · Automatable: no · Technical impact: total
- Record last updated
Affected versions
- Linux Linux
From 48a066e72d970a3e225a9c18690d570c736fc455 · fixed in 628fb00195ce21a90cf9e4e3d105cd9e58f77b40; From 48a066e72d970a3e225a9c18690d570c736fc455 · fixed in b89eb56a378b7b2c1176787fc228d0a57172bdd5; From 48a066e72d970a3e225a9c18690d570c736fc455 · fixed in f6d45fd92f62845cbd1eb5128fd8f0ed7d0c5a42; From 48a066e72d970a3e225a9c18690d570c736fc455 · fixed in 9b0915e72b3cf52474dcee0b24a2f99d93e604a3; From 48a066e72d970a3e225a9c18690d570c736fc455 · fixed in d8ece4ced3b051e656c77180df2e69e19e24edc1; From 48a066e72d970a3e225a9c18690d570c736fc455 · fixed in 8cafd7266fa02e0863bacbf872fe635c0b9725eb; From 48a066e72d970a3e225a9c18690d570c736fc455 · fixed in b55996939c71a3e1a38f3cdc6a8859797efc9083; From 48a066e72d970a3e225a9c18690d570c736fc455 · fixed in 250cf3693060a5f803c5f1ddc082bb06b16112a9
- Linux Linux
3.13
- KernelLinux
From 3.13.0 · fixed in 5.4.294; From 5.5.0 · fixed in 5.10.238; From 5.11.0 · fixed in 5.15.185; From 5.16.0 · fixed in 6.1.141; From 6.2.0 · fixed in 6.6.93; From 6.7.0 · fixed in 6.12.31; From 6.13.0 · fixed in 6.14.9
References 8
git.kernel.org
- stable/c/628fb00195ce21a90cf9e4e3d105cd9e58f77b40
- stable/c/b89eb56a378b7b2c1176787fc228d0a57172bdd5
- stable/c/f6d45fd92f62845cbd1eb5128fd8f0ed7d0c5a42
- stable/c/9b0915e72b3cf52474dcee0b24a2f99d93e604a3
- stable/c/d8ece4ced3b051e656c77180df2e69e19e24edc1
- stable/c/8cafd7266fa02e0863bacbf872fe635c0b9725eb
- stable/c/b55996939c71a3e1a38f3cdc6a8859797efc9083
- stable/c/250cf3693060a5f803c5f1ddc082bb06b16112a9