In the Linux kernel, the following vulnerability has been resolved:
netfilter: nftables: Fix potential data-race in _nftobjtype_get()
nftunregisterobj() can concurrent with _nftobjtypeget(), and there is not any protection when iterate over nftablesobjects list in _nftobjtypeget(). Therefore, there is potential data-race of nftablesobjects list entry.
Use listforeachentryrcu() to iterate over nftablesobjects list in _nftobjtypeget(), and use rcureadlock() in the caller nftobjtype_get() to protect the entire type query process.
{ "vanir_signatures": [ { "id": "CVE-2024-27019-11169046", "signature_type": "Function", "target": { "file": "net/netfilter/nf_tables_api.c", "function": "nft_obj_type_get" }, "deprecated": false, "digest": { "length": 387.0, "function_hash": "42574076163009488374681852892440338880" }, "signature_version": "v1", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@d78d867dcea69c328db30df665be5be7d0148484" }, { "id": "CVE-2024-27019-240b7aa3", "signature_type": "Line", "target": { "file": "net/netfilter/nf_tables_api.c" }, "deprecated": false, "digest": { "line_hashes": [ "94299138850512989198543557931758028238", "300867192455987259913435299949635738752", "20737783578053466655423252728677661929", "152785951678444568966835889684799047609", "161120892327884949430455716473268516273", "161099958683110313844419647272788254824", "137237599743521583853367181035977689395", "338535146162081416915147514239188271033", "103107768598676315561901701637062970985", "19047983003822207435336081062356249151" ], "threshold": 0.9 }, "signature_version": "v1", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@d78d867dcea69c328db30df665be5be7d0148484" }, { "id": "CVE-2024-27019-28dc4b7a", "signature_type": "Line", "target": { "file": "net/netfilter/nf_tables_api.c" }, "deprecated": false, "digest": { "line_hashes": [ "94299138850512989198543557931758028238", "300867192455987259913435299949635738752", "20737783578053466655423252728677661929", "152785951678444568966835889684799047609", "161120892327884949430455716473268516273", "161099958683110313844419647272788254824", "137237599743521583853367181035977689395", "338535146162081416915147514239188271033", "103107768598676315561901701637062970985", "19047983003822207435336081062356249151" ], "threshold": 0.9 }, "signature_version": "v1", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@df7c0fb8c2b9f9cac65659332581b19682a71349" }, { "id": "CVE-2024-27019-2a137a40", "signature_type": "Function", "target": { "file": "net/netfilter/nf_tables_api.c", "function": "__nft_obj_type_get" }, "deprecated": false, "digest": { "length": 272.0, "function_hash": "23652689630797498905451956582457388994" }, "signature_version": "v1", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@ad333578f736d56920e090d7db1f8dec891d815e" }, { "id": "CVE-2024-27019-47c46cfa", "signature_type": "Function", "target": { "file": "net/netfilter/nf_tables_api.c", "function": "__nft_obj_type_get" }, "deprecated": false, "digest": { "length": 272.0, "function_hash": "23652689630797498905451956582457388994" }, "signature_version": "v1", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@d78d867dcea69c328db30df665be5be7d0148484" }, { "id": "CVE-2024-27019-494061df", "signature_type": "Line", "target": { "file": "net/netfilter/nf_tables_api.c" }, "deprecated": false, "digest": { "line_hashes": [ "94299138850512989198543557931758028238", "300867192455987259913435299949635738752", "20737783578053466655423252728677661929", "152785951678444568966835889684799047609", "161120892327884949430455716473268516273", "161099958683110313844419647272788254824", "137237599743521583853367181035977689395", "338535146162081416915147514239188271033", "103107768598676315561901701637062970985", "19047983003822207435336081062356249151" ], "threshold": 0.9 }, "signature_version": "v1", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@4ca946b19caf655a08d5e2266d4d5526025ebb73" }, { "id": "CVE-2024-27019-5645547c", "signature_type": "Function", "target": { "file": "net/netfilter/nf_tables_api.c", "function": "__nft_obj_type_get" }, "deprecated": false, "digest": { "length": 272.0, "function_hash": "23652689630797498905451956582457388994" }, "signature_version": "v1", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@4ca946b19caf655a08d5e2266d4d5526025ebb73" }, { "id": "CVE-2024-27019-611ce18c", "signature_type": "Function", "target": { "file": "net/netfilter/nf_tables_api.c", "function": "nft_obj_type_get" }, "deprecated": false, "digest": { "length": 387.0, "function_hash": "42574076163009488374681852892440338880" }, "signature_version": "v1", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@cade34279c2249eafe528564bd2e203e4ff15f88" }, { "id": "CVE-2024-27019-7ad790f0", "signature_type": "Line", "target": { "file": "net/netfilter/nf_tables_api.c" }, "deprecated": false, "digest": { "line_hashes": [ "94299138850512989198543557931758028238", "300867192455987259913435299949635738752", "20737783578053466655423252728677661929", "152785951678444568966835889684799047609", "161120892327884949430455716473268516273", "161099958683110313844419647272788254824", "137237599743521583853367181035977689395", "338535146162081416915147514239188271033", "103107768598676315561901701637062970985", "19047983003822207435336081062356249151" ], "threshold": 0.9 }, "signature_version": "v1", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@379bf7257bc5f2a1b1ca8514e08a871b7bf6d920" }, { "id": "CVE-2024-27019-842466ab", "signature_type": "Line", "target": { "file": "net/netfilter/nf_tables_api.c" }, "deprecated": false, "digest": { "line_hashes": [ "94299138850512989198543557931758028238", "300867192455987259913435299949635738752", "20737783578053466655423252728677661929", "152785951678444568966835889684799047609", "161120892327884949430455716473268516273", "161099958683110313844419647272788254824", "137237599743521583853367181035977689395", "338535146162081416915147514239188271033", "103107768598676315561901701637062970985", "19047983003822207435336081062356249151" ], "threshold": 0.9 }, "signature_version": "v1", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@ad333578f736d56920e090d7db1f8dec891d815e" }, { "id": "CVE-2024-27019-949f1f1b", "signature_type": "Function", "target": { "file": "net/netfilter/nf_tables_api.c", "function": "nft_obj_type_get" }, "deprecated": false, "digest": { "length": 387.0, "function_hash": "42574076163009488374681852892440338880" }, "signature_version": "v1", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@4ca946b19caf655a08d5e2266d4d5526025ebb73" }, { "id": "CVE-2024-27019-984c2da7", "signature_type": "Function", "target": { "file": "net/netfilter/nf_tables_api.c", "function": "__nft_obj_type_get" }, "deprecated": false, "digest": { "length": 272.0, "function_hash": "23652689630797498905451956582457388994" }, "signature_version": "v1", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@df7c0fb8c2b9f9cac65659332581b19682a71349" }, { "id": "CVE-2024-27019-a54364ff", "signature_type": "Function", "target": { "file": "net/netfilter/nf_tables_api.c", "function": "__nft_obj_type_get" }, "deprecated": false, "digest": { "length": 272.0, "function_hash": "23652689630797498905451956582457388994" }, "signature_version": "v1", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@cade34279c2249eafe528564bd2e203e4ff15f88" }, { "id": "CVE-2024-27019-bc5a0d2d", "signature_type": "Function", "target": { "file": "net/netfilter/nf_tables_api.c", "function": "nft_obj_type_get" }, "deprecated": false, "digest": { "length": 387.0, "function_hash": "42574076163009488374681852892440338880" }, "signature_version": "v1", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@379bf7257bc5f2a1b1ca8514e08a871b7bf6d920" }, { "id": "CVE-2024-27019-c12aee9f", "signature_type": "Line", "target": { "file": "net/netfilter/nf_tables_api.c" }, "deprecated": false, "digest": { "line_hashes": [ "94299138850512989198543557931758028238", "300867192455987259913435299949635738752", "20737783578053466655423252728677661929", "152785951678444568966835889684799047609", "161120892327884949430455716473268516273", "161099958683110313844419647272788254824", "137237599743521583853367181035977689395", "338535146162081416915147514239188271033", "103107768598676315561901701637062970985", "19047983003822207435336081062356249151" ], "threshold": 0.9 }, "signature_version": "v1", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@cade34279c2249eafe528564bd2e203e4ff15f88" }, { "id": "CVE-2024-27019-e1d66936", "signature_type": "Function", "target": { "file": "net/netfilter/nf_tables_api.c", "function": "__nft_obj_type_get" }, "deprecated": false, "digest": { "length": 272.0, "function_hash": "23652689630797498905451956582457388994" }, "signature_version": "v1", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@379bf7257bc5f2a1b1ca8514e08a871b7bf6d920" }, { "id": "CVE-2024-27019-e3f2524d", "signature_type": "Function", "target": { "file": "net/netfilter/nf_tables_api.c", "function": "nft_obj_type_get" }, "deprecated": false, "digest": { "length": 387.0, "function_hash": "42574076163009488374681852892440338880" }, "signature_version": "v1", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@ad333578f736d56920e090d7db1f8dec891d815e" }, { "id": "CVE-2024-27019-faf47c1b", "signature_type": "Function", "target": { "file": "net/netfilter/nf_tables_api.c", "function": "nft_obj_type_get" }, "deprecated": false, "digest": { "length": 387.0, "function_hash": "42574076163009488374681852892440338880" }, "signature_version": "v1", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@df7c0fb8c2b9f9cac65659332581b19682a71349" } ] }