CVE-2026-74740
N/A
Summary
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.
Affected Software
| Vendor | Product | Version Range | Status |
|---|---|---|---|
| Linux | Linux | ee3bbfe806cdb46b02cda63626cb50a7a7b19fc5 < 91d55fd1fdb85c8371ca8793c788ea7d5192383a | affected |
| Linux | Linux | ee3bbfe806cdb46b02cda63626cb50a7a7b19fc5 < 1ec48b6715c29b20105e3485206602cff6c51ae5 | affected |
| Linux | Linux | ee3bbfe806cdb46b02cda63626cb50a7a7b19fc5 < abceabc4408fca6a9dd52611f5d197dec9390d63 | affected |
| Linux | Linux | ee3bbfe806cdb46b02cda63626cb50a7a7b19fc5 < 6b70886ebc428eed43a069c8944a931b5fb3f4e4 | affected |
| Linux | Linux | ee3bbfe806cdb46b02cda63626cb50a7a7b19fc5 < f60b396ee174206fe08ebf997d16cd3801b77b22 | affected |
| Linux | Linux | 5.1 | affected |
| Linux | Linux | 0 < 5.1 | unaffected |
| Linux | Linux | 6.6.153 <= 6.6.* | unaffected |
| Linux | Linux | 6.12.105 <= 6.12.* | unaffected |
| Linux | Linux | 6.18.46 <= 6.18.* | unaffected |
| Linux | Linux | 7.1.10 <= 7.1.* | unaffected |
| Linux | Linux | 7.2 <= * | unaffected |
Weaknesses
References
- https://git.kernel.org/stable/c/91d55fd1fdb85c8371ca8793c788ea7d5192383a
- https://git.kernel.org/stable/c/1ec48b6715c29b20105e3485206602cff6c51ae5
- https://git.kernel.org/stable/c/abceabc4408fca6a9dd52611f5d197dec9390d63
- https://git.kernel.org/stable/c/6b70886ebc428eed43a069c8944a931b5fb3f4e4
- https://git.kernel.org/stable/c/f60b396ee174206fe08ebf997d16cd3801b77b22
Feedback
Was this page helpful?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.