In the Linux kernel, the following vulnerability has been resolved:
netfilter: nftables: Fix potential data-race in _nftflowtabletype_get()
nftunregisterflowtabletype() within nfflowinetmoduleexit() can concurrent with _nftflowtabletypeget() within nftablesnewflowtable(). And thhere is not any protection when iterate over nftablesflowtables list in _nftflowtabletypeget(). Therefore, there is pertential data-race of nftables_flowtables list entry.
Use listforeachentryrcu() to iterate over nftablesflowtables list in _nftflowtabletypeget(), and use rcureadlock() in the caller nftflowtabletype_get() to protect the entire type query process.
{ "vanir_signatures": [ { "id": "CVE-2024-35898-0fc990d7", "signature_type": "Function", "target": { "file": "net/netfilter/nf_tables_api.c", "function": "__nft_flowtable_type_get" }, "signature_version": "v1", "digest": { "length": 189.0, "function_hash": "95908774381151420732384641787710137736" }, "deprecated": false, "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@a347bc8e6251eaee4b619da28020641eb5b0dd77" }, { "id": "CVE-2024-35898-1195a90a", "signature_type": "Line", "target": { "file": "net/netfilter/nf_tables_api.c" }, "signature_version": "v1", "digest": { "line_hashes": [ "75210996733255519031926112049895957076", "282166872338990646974865952983403981158", "304387160368997576197109940040584250159", "56059058419082667272761352431338927403", "300753411347392652043816090272948926443", "42116179576424876924307874696965645418", "176839264440297392842900924280617104483", "55752154408196487176802165273420906263", "168737304333059650481423454522169044813", "206845371282023270636686871921705342519", "278490575040228675816141351743483670926", "103107768598676315561901701637062970985", "19047983003822207435336081062356249151" ], "threshold": 0.9 }, "deprecated": false, "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@69d1fe14a680042ec913f22196b58e2c8ff1b007" }, { "id": "CVE-2024-35898-1e812a14", "signature_type": "Line", "target": { "file": "net/netfilter/nf_tables_api.c" }, "signature_version": "v1", "digest": { "line_hashes": [ "75210996733255519031926112049895957076", "282166872338990646974865952983403981158", "304387160368997576197109940040584250159", "56059058419082667272761352431338927403", "300753411347392652043816090272948926443", "42116179576424876924307874696965645418", "176839264440297392842900924280617104483", "55752154408196487176802165273420906263", "168737304333059650481423454522169044813", "206845371282023270636686871921705342519", "278490575040228675816141351743483670926", "103107768598676315561901701637062970985", "19047983003822207435336081062356249151" ], "threshold": 0.9 }, "deprecated": false, "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@940d41caa71f0d3a52df2fde5fada524a993e331" }, { "id": "CVE-2024-35898-20bf277b", "signature_type": "Function", "target": { "file": "net/netfilter/nf_tables_api.c", "function": "nft_flowtable_type_get" }, "signature_version": "v1", "digest": { "length": 370.0, "function_hash": "117817654654336068669914838465036371566" }, "deprecated": false, "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@24225011d81b471acc0e1e315b7d9905459a6304" }, { "id": "CVE-2024-35898-2d0f7b02", "signature_type": "Line", "target": { "file": "net/netfilter/nf_tables_api.c" }, "signature_version": "v1", "digest": { "line_hashes": [ "75210996733255519031926112049895957076", "282166872338990646974865952983403981158", "304387160368997576197109940040584250159", "56059058419082667272761352431338927403", "300753411347392652043816090272948926443", "42116179576424876924307874696965645418", "176839264440297392842900924280617104483", "55752154408196487176802165273420906263", "168737304333059650481423454522169044813", "206845371282023270636686871921705342519", "278490575040228675816141351743483670926", "103107768598676315561901701637062970985", "19047983003822207435336081062356249151" ], "threshold": 0.9 }, "deprecated": false, "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@2485bcfe05ee3cf9ca8923a94fa2e456924c79c8" }, { "id": "CVE-2024-35898-465eb8fc", "signature_type": "Function", "target": { "file": "net/netfilter/nf_tables_api.c", "function": "__nft_flowtable_type_get" }, "signature_version": "v1", "digest": { "length": 189.0, "function_hash": "95908774381151420732384641787710137736" }, "deprecated": false, "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@940d41caa71f0d3a52df2fde5fada524a993e331" }, { "id": "CVE-2024-35898-4e1c990c", "signature_type": "Line", "target": { "file": "net/netfilter/nf_tables_api.c" }, "signature_version": "v1", "digest": { "line_hashes": [ "75210996733255519031926112049895957076", "282166872338990646974865952983403981158", "304387160368997576197109940040584250159", "56059058419082667272761352431338927403", "300753411347392652043816090272948926443", "42116179576424876924307874696965645418", "176839264440297392842900924280617104483", "55752154408196487176802165273420906263", "168737304333059650481423454522169044813", "206845371282023270636686871921705342519", "278490575040228675816141351743483670926", "103107768598676315561901701637062970985", "19047983003822207435336081062356249151" ], "threshold": 0.9 }, "deprecated": false, "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@a347bc8e6251eaee4b619da28020641eb5b0dd77" }, { "id": "CVE-2024-35898-4fabbf3d", "signature_type": "Line", "target": { "file": "net/netfilter/nf_tables_api.c" }, "signature_version": "v1", "digest": { "line_hashes": [ "75210996733255519031926112049895957076", "282166872338990646974865952983403981158", "304387160368997576197109940040584250159", "56059058419082667272761352431338927403", "300753411347392652043816090272948926443", "42116179576424876924307874696965645418", "176839264440297392842900924280617104483", "55752154408196487176802165273420906263", "168737304333059650481423454522169044813", "206845371282023270636686871921705342519", "278490575040228675816141351743483670926", "103107768598676315561901701637062970985", "19047983003822207435336081062356249151" ], "threshold": 0.9 }, "deprecated": false, "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@e684b1674fd1ca4361812a491242ae871d6b2859" }, { "id": "CVE-2024-35898-587f694a", "signature_type": "Function", "target": { "file": "net/netfilter/nf_tables_api.c", "function": "nft_flowtable_type_get" }, "signature_version": "v1", "digest": { "length": 370.0, "function_hash": "117817654654336068669914838465036371566" }, "deprecated": false, "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@2485bcfe05ee3cf9ca8923a94fa2e456924c79c8" }, { "id": "CVE-2024-35898-5af76eac", "signature_type": "Line", "target": { "file": "net/netfilter/nf_tables_api.c" }, "signature_version": "v1", "digest": { "line_hashes": [ "75210996733255519031926112049895957076", "282166872338990646974865952983403981158", "304387160368997576197109940040584250159", "56059058419082667272761352431338927403", "300753411347392652043816090272948926443", "42116179576424876924307874696965645418", "176839264440297392842900924280617104483", "55752154408196487176802165273420906263", "168737304333059650481423454522169044813", "206845371282023270636686871921705342519", "278490575040228675816141351743483670926", "103107768598676315561901701637062970985", "19047983003822207435336081062356249151" ], "threshold": 0.9 }, "deprecated": false, "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@9b5b7708ec2be21dd7ef8ca0e3abe4ae9f3b083b" }, { "id": "CVE-2024-35898-6a399491", "signature_type": "Line", "target": { "file": "net/netfilter/nf_tables_api.c" }, "signature_version": "v1", "digest": { "line_hashes": [ "75210996733255519031926112049895957076", "282166872338990646974865952983403981158", "304387160368997576197109940040584250159", "56059058419082667272761352431338927403", "300753411347392652043816090272948926443", "42116179576424876924307874696965645418", "176839264440297392842900924280617104483", "55752154408196487176802165273420906263", "168737304333059650481423454522169044813", "206845371282023270636686871921705342519", "278490575040228675816141351743483670926", "103107768598676315561901701637062970985", "19047983003822207435336081062356249151" ], "threshold": 0.9 }, "deprecated": false, "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@24225011d81b471acc0e1e315b7d9905459a6304" }, { "id": "CVE-2024-35898-7480e0ed", "signature_type": "Function", "target": { "file": "net/netfilter/nf_tables_api.c", "function": "nft_flowtable_type_get" }, "signature_version": "v1", "digest": { "length": 370.0, "function_hash": "117817654654336068669914838465036371566" }, "deprecated": false, "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@a347bc8e6251eaee4b619da28020641eb5b0dd77" }, { "id": "CVE-2024-35898-77b0668f", "signature_type": "Function", "target": { "file": "net/netfilter/nf_tables_api.c", "function": "nft_flowtable_type_get" }, "signature_version": "v1", "digest": { "length": 379.0, "function_hash": "182069609071988461514935306714839232215" }, "deprecated": false, "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@69d1fe14a680042ec913f22196b58e2c8ff1b007" }, { "id": "CVE-2024-35898-889476cf", "signature_type": "Function", "target": { "file": "net/netfilter/nf_tables_api.c", "function": "nft_flowtable_type_get" }, "signature_version": "v1", "digest": { "length": 370.0, "function_hash": "117817654654336068669914838465036371566" }, "deprecated": false, "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@9b5b7708ec2be21dd7ef8ca0e3abe4ae9f3b083b" }, { "id": "CVE-2024-35898-b3cde053", "signature_type": "Function", "target": { "file": "net/netfilter/nf_tables_api.c", "function": "__nft_flowtable_type_get" }, "signature_version": "v1", "digest": { "length": 189.0, "function_hash": "95908774381151420732384641787710137736" }, "deprecated": false, "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@69d1fe14a680042ec913f22196b58e2c8ff1b007" }, { "id": "CVE-2024-35898-cc7ccafc", "signature_type": "Function", "target": { "file": "net/netfilter/nf_tables_api.c", "function": "__nft_flowtable_type_get" }, "signature_version": "v1", "digest": { "length": 189.0, "function_hash": "95908774381151420732384641787710137736" }, "deprecated": false, "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@24225011d81b471acc0e1e315b7d9905459a6304" }, { "id": "CVE-2024-35898-d20db2cb", "signature_type": "Function", "target": { "file": "net/netfilter/nf_tables_api.c", "function": "__nft_flowtable_type_get" }, "signature_version": "v1", "digest": { "length": 189.0, "function_hash": "95908774381151420732384641787710137736" }, "deprecated": false, "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@2485bcfe05ee3cf9ca8923a94fa2e456924c79c8" }, { "id": "CVE-2024-35898-da5b7ba7", "signature_type": "Function", "target": { "file": "net/netfilter/nf_tables_api.c", "function": "__nft_flowtable_type_get" }, "signature_version": "v1", "digest": { "length": 189.0, "function_hash": "95908774381151420732384641787710137736" }, "deprecated": false, "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@9b5b7708ec2be21dd7ef8ca0e3abe4ae9f3b083b" }, { "id": "CVE-2024-35898-edff181a", "signature_type": "Function", "target": { "file": "net/netfilter/nf_tables_api.c", "function": "nft_flowtable_type_get" }, "signature_version": "v1", "digest": { "length": 370.0, "function_hash": "117817654654336068669914838465036371566" }, "deprecated": false, "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@940d41caa71f0d3a52df2fde5fada524a993e331" }, { "id": "CVE-2024-35898-f4f923e4", "signature_type": "Function", "target": { "file": "net/netfilter/nf_tables_api.c", "function": "__nft_flowtable_type_get" }, "signature_version": "v1", "digest": { "length": 189.0, "function_hash": "95908774381151420732384641787710137736" }, "deprecated": false, "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@e684b1674fd1ca4361812a491242ae871d6b2859" }, { "id": "CVE-2024-35898-f6b40335", "signature_type": "Function", "target": { "file": "net/netfilter/nf_tables_api.c", "function": "nft_flowtable_type_get" }, "signature_version": "v1", "digest": { "length": 370.0, "function_hash": "117817654654336068669914838465036371566" }, "deprecated": false, "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@e684b1674fd1ca4361812a491242ae871d6b2859" } ] }