In the Linux kernel, the following vulnerability has been resolved:
netfilter: nftables: Fix potential data-race in _nftexprtype_get()
nftunregisterexpr() can concurrent with _nftexprtypeget(), and there is not any protection when iterate over nftablesexpressions list in _nftexprtypeget(). Therefore, there is potential data-race of nftablesexpressions list entry.
Use listforeachentryrcu() to iterate over nftablesexpressions list in _nftexprtypeget(), and use rcureadlock() in the caller nftexprtype_get() to protect the entire type query process.
{ "vanir_signatures": [ { "id": "CVE-2024-27020-06fcbd98", "signature_type": "Line", "target": { "file": "net/netfilter/nf_tables_api.c" }, "signature_version": "v1", "digest": { "line_hashes": [ "75098032936433755512921020029464918555", "168122694166416523239619478306935935122", "95668585384223896742238436877733258386", "277868676002708200661840065849682954426", "81833538427388819145620825169476819041", "199994187592644880172784227158510490579", "90846442451590115924634620143595257567", "48134192603229536978557728599866705793", "103107768598676315561901701637062970985", "19047983003822207435336081062356249151" ], "threshold": 0.9 }, "deprecated": false, "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@934e66e231cff2b18faa2c8aad0b8cec13957e05" }, { "id": "CVE-2024-27020-08b70e49", "signature_type": "Function", "target": { "file": "net/netfilter/nf_tables_api.c", "function": "__nft_expr_type_get" }, "signature_version": "v1", "digest": { "length": 313.0, "function_hash": "105498827998937985556923152248004219071" }, "deprecated": false, "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@01f1a678b05ade4b1248019c2dcca773aebbeb7f" }, { "id": "CVE-2024-27020-11702bb4", "signature_type": "Line", "target": { "file": "net/netfilter/nf_tables_api.c" }, "signature_version": "v1", "digest": { "line_hashes": [ "75098032936433755512921020029464918555", "168122694166416523239619478306935935122", "95668585384223896742238436877733258386", "277868676002708200661840065849682954426", "81833538427388819145620825169476819041", "199994187592644880172784227158510490579", "90846442451590115924634620143595257567", "48134192603229536978557728599866705793", "103107768598676315561901701637062970985", "19047983003822207435336081062356249151" ], "threshold": 0.9 }, "deprecated": false, "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@0b6de00206adbbfc6373b3ae38d2a6f197987907" }, { "id": "CVE-2024-27020-1d506b63", "signature_type": "Function", "target": { "file": "net/netfilter/nf_tables_api.c", "function": "nft_expr_type_get" }, "signature_version": "v1", "digest": { "length": 575.0, "function_hash": "167546582171523148661367832186376369564" }, "deprecated": false, "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@01f1a678b05ade4b1248019c2dcca773aebbeb7f" }, { "id": "CVE-2024-27020-3c13eb21", "signature_type": "Line", "target": { "file": "net/netfilter/nf_tables_api.c" }, "signature_version": "v1", "digest": { "line_hashes": [ "75098032936433755512921020029464918555", "168122694166416523239619478306935935122", "95668585384223896742238436877733258386", "277868676002708200661840065849682954426", "81833538427388819145620825169476819041", "199994187592644880172784227158510490579", "90846442451590115924634620143595257567", "48134192603229536978557728599866705793", "103107768598676315561901701637062970985", "19047983003822207435336081062356249151" ], "threshold": 0.9 }, "deprecated": false, "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@f969eb84ce482331a991079ab7a5c4dc3b7f89bf" }, { "id": "CVE-2024-27020-4e8aba66", "signature_type": "Line", "target": { "file": "net/netfilter/nf_tables_api.c" }, "signature_version": "v1", "digest": { "line_hashes": [ "75098032936433755512921020029464918555", "168122694166416523239619478306935935122", "95668585384223896742238436877733258386", "277868676002708200661840065849682954426", "81833538427388819145620825169476819041", "199994187592644880172784227158510490579", "90846442451590115924634620143595257567", "48134192603229536978557728599866705793", "103107768598676315561901701637062970985", "19047983003822207435336081062356249151" ], "threshold": 0.9 }, "deprecated": false, "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@a9ebf340d123ae12582210407f879d6a5a1bc25b" }, { "id": "CVE-2024-27020-51f5e4bb", "signature_type": "Line", "target": { "file": "net/netfilter/nf_tables_api.c" }, "signature_version": "v1", "digest": { "line_hashes": [ "75098032936433755512921020029464918555", "168122694166416523239619478306935935122", "95668585384223896742238436877733258386", "277868676002708200661840065849682954426", "81833538427388819145620825169476819041", "199994187592644880172784227158510490579", "90846442451590115924634620143595257567", "48134192603229536978557728599866705793", "103107768598676315561901701637062970985", "19047983003822207435336081062356249151" ], "threshold": 0.9 }, "deprecated": false, "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@8d56bad42ac4c43c6c72ddd6a654a2628bf839c5" }, { "id": "CVE-2024-27020-6523bb8f", "signature_type": "Function", "target": { "file": "net/netfilter/nf_tables_api.c", "function": "nft_expr_type_get" }, "signature_version": "v1", "digest": { "length": 676.0, "function_hash": "256943938808340047385330191177328593971" }, "deprecated": false, "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@939109c0a8e2a006a6cc8209e262d25065f4403a" }, { "id": "CVE-2024-27020-69d1a904", "signature_type": "Line", "target": { "file": "net/netfilter/nf_tables_api.c" }, "signature_version": "v1", "digest": { "line_hashes": [ "75098032936433755512921020029464918555", "168122694166416523239619478306935935122", "95668585384223896742238436877733258386", "277868676002708200661840065849682954426", "81833538427388819145620825169476819041", "199994187592644880172784227158510490579", "90846442451590115924634620143595257567", "48134192603229536978557728599866705793", "103107768598676315561901701637062970985", "19047983003822207435336081062356249151" ], "threshold": 0.9 }, "deprecated": false, "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@01f1a678b05ade4b1248019c2dcca773aebbeb7f" }, { "id": "CVE-2024-27020-89f484ae", "signature_type": "Function", "target": { "file": "net/netfilter/nf_tables_api.c", "function": "__nft_expr_type_get" }, "signature_version": "v1", "digest": { "length": 313.0, "function_hash": "105498827998937985556923152248004219071" }, "deprecated": false, "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@8d56bad42ac4c43c6c72ddd6a654a2628bf839c5" }, { "id": "CVE-2024-27020-9a4fa855", "signature_type": "Function", "target": { "file": "net/netfilter/nf_tables_api.c", "function": "nft_expr_type_get" }, "signature_version": "v1", "digest": { "length": 575.0, "function_hash": "167546582171523148661367832186376369564" }, "deprecated": false, "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@b38a133d37fa421c8447b383d788c9cc6f5cb34c" }, { "id": "CVE-2024-27020-a1fdf849", "signature_type": "Function", "target": { "file": "net/netfilter/nf_tables_api.c", "function": "nft_expr_type_get" }, "signature_version": "v1", "digest": { "length": 575.0, "function_hash": "167546582171523148661367832186376369564" }, "deprecated": false, "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@8d56bad42ac4c43c6c72ddd6a654a2628bf839c5" }, { "id": "CVE-2024-27020-a2cc0e3e", "signature_type": "Line", "target": { "file": "net/netfilter/nf_tables_api.c" }, "signature_version": "v1", "digest": { "line_hashes": [ "75098032936433755512921020029464918555", "168122694166416523239619478306935935122", "95668585384223896742238436877733258386", "277868676002708200661840065849682954426", "81833538427388819145620825169476819041", "199994187592644880172784227158510490579", "90846442451590115924634620143595257567", "48134192603229536978557728599866705793", "103107768598676315561901701637062970985", "19047983003822207435336081062356249151" ], "threshold": 0.9 }, "deprecated": false, "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@939109c0a8e2a006a6cc8209e262d25065f4403a" }, { "id": "CVE-2024-27020-b2dad37c", "signature_type": "Function", "target": { "file": "net/netfilter/nf_tables_api.c", "function": "__nft_expr_type_get" }, "signature_version": "v1", "digest": { "length": 313.0, "function_hash": "105498827998937985556923152248004219071" }, "deprecated": false, "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@934e66e231cff2b18faa2c8aad0b8cec13957e05" }, { "id": "CVE-2024-27020-bb48f5c1", "signature_type": "Function", "target": { "file": "net/netfilter/nf_tables_api.c", "function": "nft_expr_type_get" }, "signature_version": "v1", "digest": { "length": 575.0, "function_hash": "167546582171523148661367832186376369564" }, "deprecated": false, "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@0b6de00206adbbfc6373b3ae38d2a6f197987907" }, { "id": "CVE-2024-27020-c2efa1b0", "signature_type": "Function", "target": { "file": "net/netfilter/nf_tables_api.c", "function": "__nft_expr_type_get" }, "signature_version": "v1", "digest": { "length": 313.0, "function_hash": "105498827998937985556923152248004219071" }, "deprecated": false, "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@0b6de00206adbbfc6373b3ae38d2a6f197987907" }, { "id": "CVE-2024-27020-c93f4732", "signature_type": "Function", "target": { "file": "net/netfilter/nf_tables_api.c", "function": "nft_expr_type_get" }, "signature_version": "v1", "digest": { "length": 575.0, "function_hash": "167546582171523148661367832186376369564" }, "deprecated": false, "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@934e66e231cff2b18faa2c8aad0b8cec13957e05" }, { "id": "CVE-2024-27020-cb0f431c", "signature_type": "Function", "target": { "file": "net/netfilter/nf_tables_api.c", "function": "__nft_expr_type_get" }, "signature_version": "v1", "digest": { "length": 313.0, "function_hash": "105498827998937985556923152248004219071" }, "deprecated": false, "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@a9ebf340d123ae12582210407f879d6a5a1bc25b" }, { "id": "CVE-2024-27020-cb11c17e", "signature_type": "Function", "target": { "file": "net/netfilter/nf_tables_api.c", "function": "__nft_expr_type_get" }, "signature_version": "v1", "digest": { "length": 313.0, "function_hash": "105498827998937985556923152248004219071" }, "deprecated": false, "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@939109c0a8e2a006a6cc8209e262d25065f4403a" }, { "id": "CVE-2024-27020-d056599c", "signature_type": "Function", "target": { "file": "net/netfilter/nf_tables_api.c", "function": "__nft_expr_type_get" }, "signature_version": "v1", "digest": { "length": 313.0, "function_hash": "105498827998937985556923152248004219071" }, "deprecated": false, "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@f969eb84ce482331a991079ab7a5c4dc3b7f89bf" }, { "id": "CVE-2024-27020-d12f1179", "signature_type": "Function", "target": { "file": "net/netfilter/nf_tables_api.c", "function": "__nft_expr_type_get" }, "signature_version": "v1", "digest": { "length": 313.0, "function_hash": "105498827998937985556923152248004219071" }, "deprecated": false, "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@b38a133d37fa421c8447b383d788c9cc6f5cb34c" }, { "id": "CVE-2024-27020-e1a65e8d", "signature_type": "Function", "target": { "file": "net/netfilter/nf_tables_api.c", "function": "nft_expr_type_get" }, "signature_version": "v1", "digest": { "length": 575.0, "function_hash": "167546582171523148661367832186376369564" }, "deprecated": false, "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@a9ebf340d123ae12582210407f879d6a5a1bc25b" }, { "id": "CVE-2024-27020-f7325905", "signature_type": "Line", "target": { "file": "net/netfilter/nf_tables_api.c" }, "signature_version": "v1", "digest": { "line_hashes": [ "75098032936433755512921020029464918555", "168122694166416523239619478306935935122", "95668585384223896742238436877733258386", "277868676002708200661840065849682954426", "81833538427388819145620825169476819041", "199994187592644880172784227158510490579", "90846442451590115924634620143595257567", "48134192603229536978557728599866705793", "103107768598676315561901701637062970985", "19047983003822207435336081062356249151" ], "threshold": 0.9 }, "deprecated": false, "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@b38a133d37fa421c8447b383d788c9cc6f5cb34c" }, { "id": "CVE-2024-27020-f9c7e987", "signature_type": "Function", "target": { "file": "net/netfilter/nf_tables_api.c", "function": "nft_expr_type_get" }, "signature_version": "v1", "digest": { "length": 575.0, "function_hash": "167546582171523148661367832186376369564" }, "deprecated": false, "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@f969eb84ce482331a991079ab7a5c4dc3b7f89bf" } ] }