dm: fix resume-vs-remove race
- 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 2.6.36, 5.10.270, 5.15.221, 6.1.188, 6.6.157, and 3 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
Summary
In the Linux kernel, the following vulnerability has been resolved: dm: fix resume-vs-remove race If the user issues the resume ioctl and the remove ioctl at the same time, it may be possible that the device is resumed after it is suspended in __dm_destroy. The result is that the table is destroyed without calling the postsuspend method. Dm targets expect that they may be removed only after the postsuspend method method was called. If we break this expectation, it can cause misbehavior in various targets. For example - in the dm-integrity target, the reboot notifier is not unregistered, leading to use-after-free. Fix this bug by refusing to resume if the device is being destroyed.
Timeline
- CVE published
- Record last updated
Affected versions
- Linux Linux
From 3f77316de0ec0fd208467fbee8d9edc70e2c73b2 · fixed in 9757367bcf1d5d2c50b94d005abca21f3eedd7c3; From 3f77316de0ec0fd208467fbee8d9edc70e2c73b2 · fixed in 1ede2bce2bd640605df83db1356fd727159bc9ed; From 3f77316de0ec0fd208467fbee8d9edc70e2c73b2 · fixed in 3f04e6520d9a53adb1d1daf4dc5d31a60fc77d1f; From 3f77316de0ec0fd208467fbee8d9edc70e2c73b2 · fixed in 94f3d399c1ddba763c1c5a6501f7375d533d789f; From 3f77316de0ec0fd208467fbee8d9edc70e2c73b2 · fixed in 3b59530b14fde693e41d8e39bc326df6cbf07b76; From 3f77316de0ec0fd208467fbee8d9edc70e2c73b2 · fixed in 36177beff2a9df035991ad8d16ccf8d363ed93ee; From 3f77316de0ec0fd208467fbee8d9edc70e2c73b2 · fixed in 94380ecd5ff9b2a2b9f6e8a0b5c465159ccfaf71; From 3f77316de0ec0fd208467fbee8d9edc70e2c73b2 · fixed in 44b43ec132f1cf3275ecc182d0c82f50c3c4c3d5; From 2.6.35.4 · fixed in 2.6.36
- Linux Linux
2.6.36
- KernelLinux
From 2.6.36 · fixed in 5.10.270; From 5.11.0 · fixed in 5.15.221; From 5.16.0 · fixed in 6.1.188; From 6.2.0 · fixed in 6.6.157; From 6.7.0 · fixed in 6.12.110; From 6.13.0 · fixed in 6.18.51; From 6.19.0 · fixed in 7.2.5
References 8
git.kernel.org
- stable/c/9757367bcf1d5d2c50b94d005abca21f3eedd7c3
- stable/c/1ede2bce2bd640605df83db1356fd727159bc9ed
- stable/c/3f04e6520d9a53adb1d1daf4dc5d31a60fc77d1f
- stable/c/94f3d399c1ddba763c1c5a6501f7375d533d789f
- stable/c/3b59530b14fde693e41d8e39bc326df6cbf07b76
- stable/c/36177beff2a9df035991ad8d16ccf8d363ed93ee
- stable/c/94380ecd5ff9b2a2b9f6e8a0b5c465159ccfaf71
- stable/c/44b43ec132f1cf3275ecc182d0c82f50c3c4c3d5