Description
In the Linux kernel, the following vulnerability has been resolved: xfrm: prevent policy_hthresh.work from racing with netns teardown A XFRM_MSG_NEWSPDINFO request can queue the per-net work item policy_hthresh.work onto the system workqueue. The queued callback, xfrm_hash_rebuild(), retrieves the enclosing struct net via container_of(). If the net namespace is torn down before that work runs, the associated struct net may already have been freed, and xfrm_hash_rebuild() may then dereference stale memory. xfrm_policy_fini() already flushes policy_hash_work during teardown, but it does not synchronize policy_hthresh.work. Synchronize policy_hthresh.work in xfrm_policy_fini() as well, so the queued work cannot outlive the net namespace teardown and access a freed struct net.
Product status
880a6fab8f6ba5b5abe59ea68533202ddea1012c (git) before 56ea2257b83ee29a543f158159e3d1abc1e3e4fe
880a6fab8f6ba5b5abe59ea68533202ddea1012c (git) before 8854e9367465d784046362698731c1111e3b39b8
880a6fab8f6ba5b5abe59ea68533202ddea1012c (git) before 4e2e77843fef473ef47e322d52436d8308582a96
880a6fab8f6ba5b5abe59ea68533202ddea1012c (git) before 29fe3a61bcdce398ee3955101c39f89c01a8a77e
3.18
Any version before 3.18
6.12.80 (semver)
6.18.21 (semver)
6.19.11 (semver)
7.0 (original_commit_for_fix)
References
git.kernel.org/...c/56ea2257b83ee29a543f158159e3d1abc1e3e4fe
git.kernel.org/...c/8854e9367465d784046362698731c1111e3b39b8
git.kernel.org/...c/4e2e77843fef473ef47e322d52436d8308582a96
git.kernel.org/...c/29fe3a61bcdce398ee3955101c39f89c01a8a77e