Commit 45dc203
committed
netfilter: nf_tables: Fix potential data-race in __nft_obj_type_get()
jira VULN-4961
cve CVE-2024-27019
commit-author Ziyang Xuan <[email protected]>
commit d78d867
upstream-diff The cherry-pick tried to pull in extra cruft not
part of the upstream patch. I have resolved the conflicts in
favor of the 4.18.0-553.16.1 tagged code.
nft_unregister_obj() can concurrent with __nft_obj_type_get(),
and there is not any protection when iterate over nf_tables_objects
list in __nft_obj_type_get(). Therefore, there is potential data-race
of nf_tables_objects list entry.
Use list_for_each_entry_rcu() to iterate over nf_tables_objects
list in __nft_obj_type_get(), and use rcu_read_lock() in the caller
nft_obj_type_get() to protect the entire type query process.
Fixes: e500924 ("netfilter: nf_tables: add stateful objects")
Signed-off-by: Ziyang Xuan <[email protected]>
Signed-off-by: Pablo Neira Ayuso <[email protected]>
(cherry picked from commit d78d867)
Signed-off-by: Greg Rose <[email protected]>
Conflicts:
net/netfilter/nf_tables_api.c1 parent 4c70d64 commit 45dc203
1 file changed
+6
-2
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
6137 | 6137 | | |
6138 | 6138 | | |
6139 | 6139 | | |
6140 | | - | |
| 6140 | + | |
6141 | 6141 | | |
6142 | 6142 | | |
6143 | 6143 | | |
| |||
6149 | 6149 | | |
6150 | 6150 | | |
6151 | 6151 | | |
| 6152 | + | |
6152 | 6153 | | |
6153 | | - | |
| 6154 | + | |
| 6155 | + | |
6154 | 6156 | | |
| 6157 | + | |
| 6158 | + | |
6155 | 6159 | | |
6156 | 6160 | | |
6157 | 6161 | | |
| |||
0 commit comments