Description
In the Linux kernel, the following vulnerability has been resolved: ftrace: Also allocate and copy hash for reading of filter files Currently the reader of set_ftrace_filter and set_ftrace_notrace just adds the pointer to the global tracer hash to its iterator. Unlike the writer that allocates a copy of the hash, the reader keeps the pointer to the filter hashes. This is problematic because this pointer is static across function calls that release the locks that can update the global tracer hashes. This can cause UAF and similar bugs. Allocate and copy the hash for reading the filter files like it is done for the writers. This not only fixes UAF bugs, but also makes the code a bit simpler as it doesn't have to differentiate when to free the iterator's hash between writers and readers.
Product status
c20489dad156dd9919ebd854bbace46dbd2576a3 (git) before 12064e1880fc9202be75ff668205b1703d92f74f
c20489dad156dd9919ebd854bbace46dbd2576a3 (git) before c4cd93811e038d19f961985735ef7bb128078dfb
c20489dad156dd9919ebd854bbace46dbd2576a3 (git) before e0b6b223167e1edde5c82edf38e393c06eda1f13
c20489dad156dd9919ebd854bbace46dbd2576a3 (git) before a40c69f4f1ed96acbcd62e9b5ff3a596f0a91309
c20489dad156dd9919ebd854bbace46dbd2576a3 (git) before 3b114a3282ab1a12cb4618a8f45db5d7185e784a
c20489dad156dd9919ebd854bbace46dbd2576a3 (git) before c591ba1acd081d4980713e47869dd1cc3d963d19
c20489dad156dd9919ebd854bbace46dbd2576a3 (git) before 64db338140d2bad99a0a8c6a118dd60b3e1fb8cb
c20489dad156dd9919ebd854bbace46dbd2576a3 (git) before bfb336cf97df7b37b2b2edec0f69773e06d11955
4.12
Any version before 4.12
5.4.297 (semver)
5.10.241 (semver)
5.15.190 (semver)
6.1.149 (semver)
6.6.103 (semver)
6.12.44 (semver)
6.16.4 (semver)
6.17 (original_commit_for_fix)
References
git.kernel.org/...c/12064e1880fc9202be75ff668205b1703d92f74f
git.kernel.org/...c/c4cd93811e038d19f961985735ef7bb128078dfb
git.kernel.org/...c/e0b6b223167e1edde5c82edf38e393c06eda1f13
git.kernel.org/...c/a40c69f4f1ed96acbcd62e9b5ff3a596f0a91309
git.kernel.org/...c/3b114a3282ab1a12cb4618a8f45db5d7185e784a
git.kernel.org/...c/c591ba1acd081d4980713e47869dd1cc3d963d19
git.kernel.org/...c/64db338140d2bad99a0a8c6a118dd60b3e1fb8cb
git.kernel.org/...c/bfb336cf97df7b37b2b2edec0f69773e06d11955