In the Linux kernel, the following vulnerability has been resolved:
netfilter: nftflowoffload: release dst in case direct xmit path is used
Direct xmit does not use it since it calls devqueuexmit() to send packets, hence it calls dst_release().
kmemleak reports:
unreferenced object 0xffff88814f440900 (size 184): comm "softirq", pid 0, jiffies 4294951896 hex dump (first 32 bytes): 00 60 5b 04 81 88 ff ff 00 e6 e8 82 ff ff ff ff .`[............. 21 0b 50 82 ff ff ff ff 00 00 00 00 00 00 00 00 !.P............. backtrace (crc cb2bf5d6): [<000000003ee17107>] kmemcachealloc+0x286/0x340 [<0000000021a5de2c>] dstalloc+0x43/0xb0 [<00000000f0671159>] rtdstalloc+0x2e/0x190 [<00000000fe5092c9>] _mkrouteoutput+0x244/0x980 [<000000005fb96fb0>] iprouteoutputflow+0xc0/0x160 [<0000000045367433>] nfiproute+0xf/0x30 [<0000000085da1d8e>] nfroute+0x2d/0x60 [<00000000d1ecd1cb>] nftflowroute+0x171/0x6a0 [nftflowoffload] [<00000000d9b2fb60>] nftflowoffloadeval+0x4e8/0x700 [nftflowoffload] [<000000009f447dbb>] exprcallopseval+0x53/0x330 [nftables] [<00000000072e1be6>] nftdochain+0x17c/0x840 [nftables] [<00000000d0551029>] nftdochaininet+0xa1/0x210 [nftables] [<0000000097c9d5c6>] nfhookslow+0x5b/0x160 [<0000000005eccab1>] ipforward+0x8b6/0x9b0 [<00000000553a269b>] iprcv+0x221/0x230 [<00000000412872e5>] _netifreceiveskbonecore+0xfe/0x110
[
{
"signature_version": "v1",
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@13b57b5cd591d5b22f9bbf047b2922967de411f3",
"signature_type": "Line",
"id": "CVE-2024-26834-0f83f6dc",
"digest": {
"threshold": 0.9,
"line_hashes": [
"97512485592081900317251580165815826165",
"26571660179545582358097050288055438518",
"226468868860955007799613136027394234898",
"49595600081167164179106160521023658084"
]
},
"target": {
"file": "net/netfilter/nf_flow_table_core.c"
}
},
{
"signature_version": "v1",
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@8762785f459be1cfe6fcf7285c123aad6a3703f0",
"signature_type": "Line",
"id": "CVE-2024-26834-0fc02339",
"digest": {
"threshold": 0.9,
"line_hashes": [
"97512485592081900317251580165815826165",
"26571660179545582358097050288055438518",
"226468868860955007799613136027394234898",
"49595600081167164179106160521023658084"
]
},
"target": {
"file": "net/netfilter/nf_flow_table_core.c"
}
},
{
"signature_version": "v1",
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@2d17cf10179a7de6d8f0128168b84ad0b4a1863f",
"signature_type": "Line",
"id": "CVE-2024-26834-60ca727e",
"digest": {
"threshold": 0.9,
"line_hashes": [
"97512485592081900317251580165815826165",
"26571660179545582358097050288055438518",
"226468868860955007799613136027394234898",
"49595600081167164179106160521023658084"
]
},
"target": {
"file": "net/netfilter/nf_flow_table_core.c"
}
},
{
"signature_version": "v1",
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@a6cafdb49a7bbf4a88367db209703eee6941e023",
"signature_type": "Function",
"id": "CVE-2024-26834-6b4ecadf",
"digest": {
"function_hash": "241721253803222964224015758043218982852",
"length": 1501.0
},
"target": {
"function": "flow_offload_fill_route",
"file": "net/netfilter/nf_flow_table_core.c"
}
},
{
"signature_version": "v1",
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@a6cafdb49a7bbf4a88367db209703eee6941e023",
"signature_type": "Line",
"id": "CVE-2024-26834-82b992b6",
"digest": {
"threshold": 0.9,
"line_hashes": [
"97512485592081900317251580165815826165",
"26571660179545582358097050288055438518",
"226468868860955007799613136027394234898",
"49595600081167164179106160521023658084"
]
},
"target": {
"file": "net/netfilter/nf_flow_table_core.c"
}
},
{
"signature_version": "v1",
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@2d17cf10179a7de6d8f0128168b84ad0b4a1863f",
"signature_type": "Function",
"id": "CVE-2024-26834-90f3ce54",
"digest": {
"function_hash": "241721253803222964224015758043218982852",
"length": 1501.0
},
"target": {
"function": "flow_offload_fill_route",
"file": "net/netfilter/nf_flow_table_core.c"
}
},
{
"signature_version": "v1",
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@9256ab9232e35a16af9c30fa4e522e6d1bd3605a",
"signature_type": "Line",
"id": "CVE-2024-26834-a8ed489e",
"digest": {
"threshold": 0.9,
"line_hashes": [
"97512485592081900317251580165815826165",
"26571660179545582358097050288055438518",
"226468868860955007799613136027394234898",
"49595600081167164179106160521023658084"
]
},
"target": {
"file": "net/netfilter/nf_flow_table_core.c"
}
},
{
"signature_version": "v1",
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@13b57b5cd591d5b22f9bbf047b2922967de411f3",
"signature_type": "Function",
"id": "CVE-2024-26834-b784c3d2",
"digest": {
"function_hash": "241721253803222964224015758043218982852",
"length": 1501.0
},
"target": {
"function": "flow_offload_fill_route",
"file": "net/netfilter/nf_flow_table_core.c"
}
},
{
"signature_version": "v1",
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@8762785f459be1cfe6fcf7285c123aad6a3703f0",
"signature_type": "Function",
"id": "CVE-2024-26834-de419e6d",
"digest": {
"function_hash": "241721253803222964224015758043218982852",
"length": 1501.0
},
"target": {
"function": "flow_offload_fill_route",
"file": "net/netfilter/nf_flow_table_core.c"
}
},
{
"signature_version": "v1",
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@9256ab9232e35a16af9c30fa4e522e6d1bd3605a",
"signature_type": "Function",
"id": "CVE-2024-26834-ec098bbd",
"digest": {
"function_hash": "241721253803222964224015758043218982852",
"length": 1501.0
},
"target": {
"function": "flow_offload_fill_route",
"file": "net/netfilter/nf_flow_table_core.c"
}
}
]