Description
In the Linux kernel, the following vulnerability has been resolved: netfilter: nf_tables: release flowtable after rcu grace period on error Call synchronize_rcu() after unregistering the hooks from error path, since a hook that already refers to this flowtable can be already registered, exposing this flowtable to packet path and nfnetlink_hook control plane. This error path is rare, it should only happen by reaching the maximum number hooks or by failing to set up to hardware offload, just call synchronize_rcu(). There is a check for already used device hooks by different flowtable that could result in EEXIST at this late stage. The hook parser can be updated to perform this check earlier to this error path really becomes rarely exercised. Uncovered by KASAN reported as use-after-free from nfnetlink_hook path when dumping hooks.
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
3b49e2e94e6ebb8b23d0955d9e898254455734f8 to < d2632de96ccb066e0131ad1494241b9c281c60b8affected3b49e2e94e6ebb8b23d0955d9e898254455734f8 to < adee3436ccd29f1e514c028899e400cbc6d84065affected3b49e2e94e6ebb8b23d0955d9e898254455734f8 to < 7e3955b282eae20d61c75e499c75eade51c20060affected3b49e2e94e6ebb8b23d0955d9e898254455734f8 to < c8092edb9a11f20f95ccceeb9422b7dd0df337bdaffected3b49e2e94e6ebb8b23d0955d9e898254455734f8 to < e78a2dcc7cfb87b64a631441ca7681492b347ef6affected3b49e2e94e6ebb8b23d0955d9e898254455734f8 to < d73f4b53aaaea4c95f245e491aa5eeb8a21874ceaffected
Linux Linux
Default version status: affected
4.16affected0 to < 4.16unaffected6.1.167 to ≤ 6.1.*unaffected6.6.130 to ≤ 6.6.*unaffected6.12.78 to ≤ 6.12.*unaffected6.18.20 to ≤ 6.18.*unaffected6.19.10 to ≤ 6.19.*unaffected7.0 to ≤ *unaffected
References
- https://git.kernel.org/stable/c/d2632de96ccb066e0131ad1494241b9c281c60b8 ↗
- https://git.kernel.org/stable/c/adee3436ccd29f1e514c028899e400cbc6d84065 ↗
- https://git.kernel.org/stable/c/7e3955b282eae20d61c75e499c75eade51c20060 ↗
- https://git.kernel.org/stable/c/c8092edb9a11f20f95ccceeb9422b7dd0df337bd ↗
- https://git.kernel.org/stable/c/e78a2dcc7cfb87b64a631441ca7681492b347ef6 ↗
- https://git.kernel.org/stable/c/d73f4b53aaaea4c95f245e491aa5eeb8a21874ce ↗
- https://cert-portal.siemens.com/productcert/html/ssa-082556.html ↗
- https://cert-portal.siemens.com/productcert/html/ssa-019113.html ↗
- https://cert-portal.siemens.com/productcert/html/ssa-457936.html ↗
- https://cert-portal.siemens.com/productcert/html/ssa-784472.html ↗