Description
In the Linux kernel, the following vulnerability has been resolved: binfmt_misc: restore write access before closing files opened by open_exec() bm_register_write() opens an executable file using open_exec(), which internally calls do_open_execat() and denies write access on the file to avoid modification while it is being executed. However, when an error occurs, bm_register_write() closes the file using filp_close() directly. This does not restore the write permission, which may cause subsequent write operations on the same file to fail. Fix this by calling exe_file_allow_write_access() before filp_close() to restore the write permission properly.
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
e7850f4d844e0acfac7e570af611d89deade3146 to < 54274ff90488b6c0f595a6518faed3cf0bc966ebaffectede7850f4d844e0acfac7e570af611d89deade3146 to < 480ac88431703f2adbb8e6b5bd73c3f3cf9f3d7faffectede7850f4d844e0acfac7e570af611d89deade3146 to < fbab8c08e1a6dbaef81e22d672a7647553101d16affectede7850f4d844e0acfac7e570af611d89deade3146 to < 6cce7bc7fac8471c832696720d9c8f2a976d9c54affectede7850f4d844e0acfac7e570af611d89deade3146 to < e785f552ab04dbca01d31f0334f4561240b04459affectede7850f4d844e0acfac7e570af611d89deade3146 to < 90f601b497d76f40fa66795c3ecf625b6aced9fdaffected467a50d5db7deaf656e18a1f633be9ecd94b393aaffected4a8b4124ea4156ca52918b66c750a69c6d932aa5affected3fe116e33a855bbfdd32dc207e9be2a41e3ed3a6affectedc0e0ab60d0b15469e69db93215dad009999f5a5baffected5ab9464a2a3c538eedbb438f1802f2fd98d0953faffectedd28492be82e19fc69cc69975fc2052b37ef0c821affected4.9.262 to < 4.10affected4.14.226 to < 4.15affected4.19.181 to < 4.20affected5.4.106 to < 5.5affected5.10.24 to < 5.11affected5.11.7 to < 5.12affected
Linux Linux
Default version status: affected
5.12affected0 to < 5.12unaffected5.15.209 to ≤ 5.15.*unaffected6.1.167 to ≤ 6.1.*unaffected6.6.130 to ≤ 6.6.*unaffected6.12.78 to ≤ 6.12.*unaffected6.17.9 to ≤ 6.17.*unaffected6.18 to ≤ *unaffected
References
- https://git.kernel.org/stable/c/54274ff90488b6c0f595a6518faed3cf0bc966eb ↗
- https://git.kernel.org/stable/c/480ac88431703f2adbb8e6b5bd73c3f3cf9f3d7f ↗
- https://git.kernel.org/stable/c/fbab8c08e1a6dbaef81e22d672a7647553101d16 ↗
- https://git.kernel.org/stable/c/6cce7bc7fac8471c832696720d9c8f2a976d9c54 ↗
- https://git.kernel.org/stable/c/e785f552ab04dbca01d31f0334f4561240b04459 ↗
- https://git.kernel.org/stable/c/90f601b497d76f40fa66795c3ecf625b6aced9fd ↗
- https://cert-portal.siemens.com/productcert/html/ssa-784472.html ↗