Description
In the Linux kernel, the following vulnerability has been resolved: binfmt_misc: restore write access when removing an entry Registering an entry with the MISC_FMT_OPEN_FILE flag opens the interpreter via open_exec() which denies write access to it for as long as the entry exists. Removing the entry closes the interpreter file via filp_close() but never restores write access, leaving the inode's i_writecount permanently negative. Opening the interpreter for writing keeps failing with ETXTBSY long after the entry is gone until the inode is evicted from the inode cache. Commit 90f601b497d7 ("binfmt_misc: restore write access before closing files opened by open_exec()") fixed the same imbalance in the error path of bm_register_write() but the actual removal path has been leaking the write denial since the introduction of the flag. Restore write access in put_binfmt_handler() before closing the interpreter file.
Affected products
Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.
Linux Linux
Default version status: unaffected
948b701a607f123df92ed29084413e5dd8cda2ed to < 7873f987213695e3564c8c259e6db283e4739472affected948b701a607f123df92ed29084413e5dd8cda2ed to < 13efc628fdf641d901bdba07caa1c558e1bed046affected948b701a607f123df92ed29084413e5dd8cda2ed to < f1cf67f6be0babc73afa4ee0e27bdedffeeeb095affected948b701a607f123df92ed29084413e5dd8cda2ed to < dd9ba32169e73a3c3ba595cf1de1f4c69ceafb3caffected948b701a607f123df92ed29084413e5dd8cda2ed to < a50296cca2a1db9d8d21051e7d50f0cf3a4b7ec8affected948b701a607f123df92ed29084413e5dd8cda2ed to < fdc1d702bf3001586221fa07e598e876a0a854c5affected948b701a607f123df92ed29084413e5dd8cda2ed to < 3b522487a3a9162b1b519eefde7998d103e3e07baffected948b701a607f123df92ed29084413e5dd8cda2ed to < db1856ea9196cf6e015d12199a34c0b9313c7bfaaffected
Linux Linux
Default version status: affected
4.8affected0 to < 4.8unaffected5.10.266 to ≤ 5.10.*unaffected5.15.217 to ≤ 5.15.*unaffected6.1.184 to ≤ 6.1.*unaffected6.6.153 to ≤ 6.6.*unaffected6.12.105 to ≤ 6.12.*unaffected6.18.44 to ≤ 6.18.*unaffected7.1.8 to ≤ 7.1.*unaffected7.2 to ≤ *unaffected
References
- https://git.kernel.org/stable/c/7873f987213695e3564c8c259e6db283e4739472 ↗
- https://git.kernel.org/stable/c/13efc628fdf641d901bdba07caa1c558e1bed046 ↗
- https://git.kernel.org/stable/c/f1cf67f6be0babc73afa4ee0e27bdedffeeeb095 ↗
- https://git.kernel.org/stable/c/dd9ba32169e73a3c3ba595cf1de1f4c69ceafb3c ↗
- https://git.kernel.org/stable/c/a50296cca2a1db9d8d21051e7d50f0cf3a4b7ec8 ↗
- https://git.kernel.org/stable/c/fdc1d702bf3001586221fa07e598e876a0a854c5 ↗
- https://git.kernel.org/stable/c/3b522487a3a9162b1b519eefde7998d103e3e07b ↗
- https://git.kernel.org/stable/c/db1856ea9196cf6e015d12199a34c0b9313c7bfa ↗