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.
[
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@d78d867dcea69c328db30df665be5be7d0148484",
"deprecated": false,
"digest": {
"function_hash": "42574076163009488374681852892440338880",
"length": 387.0
},
"target": {
"function": "nft_obj_type_get",
"file": "net/netfilter/nf_tables_api.c"
},
"id": "CVE-2024-27019-11169046",
"signature_version": "v1",
"signature_type": "Function"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@d78d867dcea69c328db30df665be5be7d0148484",
"deprecated": false,
"digest": {
"threshold": 0.9,
"line_hashes": [
"94299138850512989198543557931758028238",
"300867192455987259913435299949635738752",
"20737783578053466655423252728677661929",
"152785951678444568966835889684799047609",
"161120892327884949430455716473268516273",
"161099958683110313844419647272788254824",
"137237599743521583853367181035977689395",
"338535146162081416915147514239188271033",
"103107768598676315561901701637062970985",
"19047983003822207435336081062356249151"
]
},
"target": {
"file": "net/netfilter/nf_tables_api.c"
},
"id": "CVE-2024-27019-240b7aa3",
"signature_version": "v1",
"signature_type": "Line"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@df7c0fb8c2b9f9cac65659332581b19682a71349",
"deprecated": false,
"digest": {
"threshold": 0.9,
"line_hashes": [
"94299138850512989198543557931758028238",
"300867192455987259913435299949635738752",
"20737783578053466655423252728677661929",
"152785951678444568966835889684799047609",
"161120892327884949430455716473268516273",
"161099958683110313844419647272788254824",
"137237599743521583853367181035977689395",
"338535146162081416915147514239188271033",
"103107768598676315561901701637062970985",
"19047983003822207435336081062356249151"
]
},
"target": {
"file": "net/netfilter/nf_tables_api.c"
},
"id": "CVE-2024-27019-28dc4b7a",
"signature_version": "v1",
"signature_type": "Line"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@ad333578f736d56920e090d7db1f8dec891d815e",
"deprecated": false,
"digest": {
"function_hash": "23652689630797498905451956582457388994",
"length": 272.0
},
"target": {
"function": "__nft_obj_type_get",
"file": "net/netfilter/nf_tables_api.c"
},
"id": "CVE-2024-27019-2a137a40",
"signature_version": "v1",
"signature_type": "Function"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@d78d867dcea69c328db30df665be5be7d0148484",
"deprecated": false,
"digest": {
"function_hash": "23652689630797498905451956582457388994",
"length": 272.0
},
"target": {
"function": "__nft_obj_type_get",
"file": "net/netfilter/nf_tables_api.c"
},
"id": "CVE-2024-27019-47c46cfa",
"signature_version": "v1",
"signature_type": "Function"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@4ca946b19caf655a08d5e2266d4d5526025ebb73",
"deprecated": false,
"digest": {
"threshold": 0.9,
"line_hashes": [
"94299138850512989198543557931758028238",
"300867192455987259913435299949635738752",
"20737783578053466655423252728677661929",
"152785951678444568966835889684799047609",
"161120892327884949430455716473268516273",
"161099958683110313844419647272788254824",
"137237599743521583853367181035977689395",
"338535146162081416915147514239188271033",
"103107768598676315561901701637062970985",
"19047983003822207435336081062356249151"
]
},
"target": {
"file": "net/netfilter/nf_tables_api.c"
},
"id": "CVE-2024-27019-494061df",
"signature_version": "v1",
"signature_type": "Line"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@4ca946b19caf655a08d5e2266d4d5526025ebb73",
"deprecated": false,
"digest": {
"function_hash": "23652689630797498905451956582457388994",
"length": 272.0
},
"target": {
"function": "__nft_obj_type_get",
"file": "net/netfilter/nf_tables_api.c"
},
"id": "CVE-2024-27019-5645547c",
"signature_version": "v1",
"signature_type": "Function"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@cade34279c2249eafe528564bd2e203e4ff15f88",
"deprecated": false,
"digest": {
"function_hash": "42574076163009488374681852892440338880",
"length": 387.0
},
"target": {
"function": "nft_obj_type_get",
"file": "net/netfilter/nf_tables_api.c"
},
"id": "CVE-2024-27019-611ce18c",
"signature_version": "v1",
"signature_type": "Function"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@379bf7257bc5f2a1b1ca8514e08a871b7bf6d920",
"deprecated": false,
"digest": {
"threshold": 0.9,
"line_hashes": [
"94299138850512989198543557931758028238",
"300867192455987259913435299949635738752",
"20737783578053466655423252728677661929",
"152785951678444568966835889684799047609",
"161120892327884949430455716473268516273",
"161099958683110313844419647272788254824",
"137237599743521583853367181035977689395",
"338535146162081416915147514239188271033",
"103107768598676315561901701637062970985",
"19047983003822207435336081062356249151"
]
},
"target": {
"file": "net/netfilter/nf_tables_api.c"
},
"id": "CVE-2024-27019-7ad790f0",
"signature_version": "v1",
"signature_type": "Line"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@ad333578f736d56920e090d7db1f8dec891d815e",
"deprecated": false,
"digest": {
"threshold": 0.9,
"line_hashes": [
"94299138850512989198543557931758028238",
"300867192455987259913435299949635738752",
"20737783578053466655423252728677661929",
"152785951678444568966835889684799047609",
"161120892327884949430455716473268516273",
"161099958683110313844419647272788254824",
"137237599743521583853367181035977689395",
"338535146162081416915147514239188271033",
"103107768598676315561901701637062970985",
"19047983003822207435336081062356249151"
]
},
"target": {
"file": "net/netfilter/nf_tables_api.c"
},
"id": "CVE-2024-27019-842466ab",
"signature_version": "v1",
"signature_type": "Line"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@4ca946b19caf655a08d5e2266d4d5526025ebb73",
"deprecated": false,
"digest": {
"function_hash": "42574076163009488374681852892440338880",
"length": 387.0
},
"target": {
"function": "nft_obj_type_get",
"file": "net/netfilter/nf_tables_api.c"
},
"id": "CVE-2024-27019-949f1f1b",
"signature_version": "v1",
"signature_type": "Function"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@df7c0fb8c2b9f9cac65659332581b19682a71349",
"deprecated": false,
"digest": {
"function_hash": "23652689630797498905451956582457388994",
"length": 272.0
},
"target": {
"function": "__nft_obj_type_get",
"file": "net/netfilter/nf_tables_api.c"
},
"id": "CVE-2024-27019-984c2da7",
"signature_version": "v1",
"signature_type": "Function"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@cade34279c2249eafe528564bd2e203e4ff15f88",
"deprecated": false,
"digest": {
"function_hash": "23652689630797498905451956582457388994",
"length": 272.0
},
"target": {
"function": "__nft_obj_type_get",
"file": "net/netfilter/nf_tables_api.c"
},
"id": "CVE-2024-27019-a54364ff",
"signature_version": "v1",
"signature_type": "Function"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@379bf7257bc5f2a1b1ca8514e08a871b7bf6d920",
"deprecated": false,
"digest": {
"function_hash": "42574076163009488374681852892440338880",
"length": 387.0
},
"target": {
"function": "nft_obj_type_get",
"file": "net/netfilter/nf_tables_api.c"
},
"id": "CVE-2024-27019-bc5a0d2d",
"signature_version": "v1",
"signature_type": "Function"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@cade34279c2249eafe528564bd2e203e4ff15f88",
"deprecated": false,
"digest": {
"threshold": 0.9,
"line_hashes": [
"94299138850512989198543557931758028238",
"300867192455987259913435299949635738752",
"20737783578053466655423252728677661929",
"152785951678444568966835889684799047609",
"161120892327884949430455716473268516273",
"161099958683110313844419647272788254824",
"137237599743521583853367181035977689395",
"338535146162081416915147514239188271033",
"103107768598676315561901701637062970985",
"19047983003822207435336081062356249151"
]
},
"target": {
"file": "net/netfilter/nf_tables_api.c"
},
"id": "CVE-2024-27019-c12aee9f",
"signature_version": "v1",
"signature_type": "Line"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@379bf7257bc5f2a1b1ca8514e08a871b7bf6d920",
"deprecated": false,
"digest": {
"function_hash": "23652689630797498905451956582457388994",
"length": 272.0
},
"target": {
"function": "__nft_obj_type_get",
"file": "net/netfilter/nf_tables_api.c"
},
"id": "CVE-2024-27019-e1d66936",
"signature_version": "v1",
"signature_type": "Function"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@ad333578f736d56920e090d7db1f8dec891d815e",
"deprecated": false,
"digest": {
"function_hash": "42574076163009488374681852892440338880",
"length": 387.0
},
"target": {
"function": "nft_obj_type_get",
"file": "net/netfilter/nf_tables_api.c"
},
"id": "CVE-2024-27019-e3f2524d",
"signature_version": "v1",
"signature_type": "Function"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@df7c0fb8c2b9f9cac65659332581b19682a71349",
"deprecated": false,
"digest": {
"function_hash": "42574076163009488374681852892440338880",
"length": 387.0
},
"target": {
"function": "nft_obj_type_get",
"file": "net/netfilter/nf_tables_api.c"
},
"id": "CVE-2024-27019-faf47c1b",
"signature_version": "v1",
"signature_type": "Function"
}
]