Description (CNA)
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 (CNA)
| Vendor / product | Versions |
|---|---|
| Linux / Linux | affected 948b701a607f123df92ed29084413e5dd8cda2ed before 7873f987213695e3564c8c259e6db283e4739472; affected 948b701a607f123df92ed29084413e5dd8cda2ed before 13efc628fdf641d901bdba07caa1c558e1bed046; affected 948b701a607f123df92ed29084413e5dd8cda2ed before f1cf67f6be0babc73afa4ee0e27bdedffeeeb095; affected 948b701a607f123df92ed29084413e5dd8cda2ed before dd9ba32169e73a3c3ba595cf1de1f4c69ceafb3c; affected 948b701a607f123df92ed29084413e5dd8cda2ed before a50296cca2a1db9d8d21051e7d50f0cf3a4b7ec8; affected 948b701a607f123df92ed29084413e5dd8cda2ed before fdc1d702bf3001586221fa07e598e876a0a854c5; affected 948b701a607f123df92ed29084413e5dd8cda2ed before 3b522487a3a9162b1b519eefde7998d103e3e07b; affected 948b701a607f123df92ed29084413e5dd8cda2ed before db1856ea9196cf6e015d12199a34c0b9313c7bfa |
| Linux / Linux | affected 4.8; unaffected 0 before 4.8; unaffected 5.10.266 through 5.10.*; unaffected 5.15.217 through 5.15.*; unaffected 6.1.184 through 6.1.*; unaffected 6.6.153 through 6.6.*; unaffected 6.12.105 through 6.12.*; unaffected 6.18.44 through 6.18.*; unaffected 7.1.8 through 7.1.*; unaffected 7.2 through * |
CWE
No CWE identifiers supplied.
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