CVE-2026-74740
Description
In the Linux kernel, the following vulnerability has been resolved: net/sched: act_api: fix TOCTOU NULL deref on a->goto_chain tcf_action_exec() handles TC_ACT_GOTO_CHAIN by first checking rcu_access_pointer(a->goto_chain) and then calling tcf_action_goto_chain_exec(), which does a second, independent rcu_dereference_bh(a->goto_chain) read and immediately dereferences chain->filter_chain. A concurrent tcf_action_set_ctrlact() (e.g. the gact replace path) can clear a->goto_chain between the two reads, so the second read returns NULL and tcf_action_goto_chain_exec() dereferences NULL. Fix the race by doing a single rcu_dereference_bh() read of a->goto_chain in tcf_action_exec(), checking it once for NULL, and passing the resulting chain pointer into tcf_action_goto_chain_exec(). This turns the split check/use into a single check/use on one value.
References
- https://git.kernel.org/stable/c/1ec48b6715c29b20105e3485206602cff6c51ae5
- https://git.kernel.org/stable/c/6b70886ebc428eed43a069c8944a931b5fb3f4e4
- https://git.kernel.org/stable/c/91d55fd1fdb85c8371ca8793c788ea7d5192383a
- https://git.kernel.org/stable/c/abceabc4408fca6a9dd52611f5d197dec9390d63
- https://git.kernel.org/stable/c/f60b396ee174206fe08ebf997d16cd3801b77b22