In the Linux kernel, the following vulnerability has been resolved:
netfilter: nft_objref: validate objref and objrefmap expressions
Referencing a synproxy stateful object from OUTPUT hook causes kernel crash due to infinite recursive calls:
BUG: TASK stack guard page was hit at 000000008bda5b8c (stack is 000000003ab1c4a5..00000000494d8b12) [...] Call Trace: _findrrleaf+0x99/0x230 fib6tablelookup+0x13b/0x2d0 ip6polroute+0xa4/0x400 fib6rulelookup+0x156/0x240 ip6routeoutputflags+0xc6/0x150 _nfip6route+0x23/0x50 synproxysendtcpipv6+0x106/0x200 synproxysendclientsynackipv6+0x1aa/0x1f0 nftsynproxydoeval+0x263/0x310 nftdochain+0x5a8/0x5f0 [nftables nftdochaininet+0x98/0x110 nfhookslow+0x43/0xc0 _ip6localout+0xf0/0x170 ip6localout+0x17/0x70 synproxysendtcpipv6+0x1a2/0x200 synproxysendclientsynack_ipv6+0x1aa/0x1f0 [...]
Implement objref and objrefmap expression validate functions.
Currently, only NFTOBJECTSYNPROXY object type requires validation. This will also handle a jump to a chain using a synproxy object from the OUTPUT hook.
Now when trying to reference a synproxy object in the OUTPUT hook, nft will produce the following error:
synproxy_crash.nft: Error: Could not process rule: Operation not supported synproxy name mysynproxy ^^^^^^^^^^^^^^^^^^^^^^^^
[
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@0028e0134c64d9ed21728341a74fcfc59cd0f944",
"signature_version": "v1",
"id": "CVE-2025-40206-0652f8ec",
"signature_type": "Line",
"digest": {
"threshold": 0.9,
"line_hashes": [
"52990538692447528612205677088158529522",
"69869238721636315315949022058642850530",
"60175747657530082264716685923980272474",
"338205057034336150730470756437338451439",
"251300141053243095866321258479873610832",
"227717150923474254790733774918257932582",
"339576860334779818055178277315976927725",
"81397977820263085581148674676868003540",
"289330054589378902017093637670003358043",
"38678324679768674604617366246355994881",
"61030496135242720247217254008645937753",
"238712722546714423990547070978332221291",
"49224946402876133267968355537022390564",
"78650629407568676814687981594980553657"
]
},
"deprecated": false,
"target": {
"file": "net/netfilter/nft_objref.c"
}
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@4c1cf72ec10be5a9ad264650cadffa1fbce6fabd",
"signature_version": "v1",
"id": "CVE-2025-40206-07c36886",
"signature_type": "Line",
"digest": {
"threshold": 0.9,
"line_hashes": [
"52990538692447528612205677088158529522",
"69869238721636315315949022058642850530",
"60175747657530082264716685923980272474",
"338205057034336150730470756437338451439",
"251300141053243095866321258479873610832",
"227717150923474254790733774918257932582",
"339576860334779818055178277315976927725",
"81397977820263085581148674676868003540",
"289330054589378902017093637670003358043",
"38678324679768674604617366246355994881",
"61030496135242720247217254008645937753",
"238712722546714423990547070978332221291",
"49224946402876133267968355537022390564",
"78650629407568676814687981594980553657"
]
},
"deprecated": false,
"target": {
"file": "net/netfilter/nft_objref.c"
}
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@7ea55a44493a5a36c3b3293b88bbe4841f9dbaf0",
"signature_version": "v1",
"id": "CVE-2025-40206-53a3c6e8",
"signature_type": "Line",
"digest": {
"threshold": 0.9,
"line_hashes": [
"52990538692447528612205677088158529522",
"69869238721636315315949022058642850530",
"60175747657530082264716685923980272474",
"338205057034336150730470756437338451439",
"251300141053243095866321258479873610832",
"227717150923474254790733774918257932582",
"339576860334779818055178277315976927725",
"81397977820263085581148674676868003540",
"289330054589378902017093637670003358043",
"38678324679768674604617366246355994881",
"61030496135242720247217254008645937753",
"238712722546714423990547070978332221291",
"49224946402876133267968355537022390564",
"78650629407568676814687981594980553657"
]
},
"deprecated": false,
"target": {
"file": "net/netfilter/nft_objref.c"
}
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@f359b809d54c6e3dd1d039b97e0b68390b0e53e4",
"signature_version": "v1",
"id": "CVE-2025-40206-bd93c6d3",
"signature_type": "Line",
"digest": {
"threshold": 0.9,
"line_hashes": [
"52990538692447528612205677088158529522",
"69869238721636315315949022058642850530",
"60175747657530082264716685923980272474",
"338205057034336150730470756437338451439",
"251300141053243095866321258479873610832",
"227717150923474254790733774918257932582",
"339576860334779818055178277315976927725",
"81397977820263085581148674676868003540",
"289330054589378902017093637670003358043",
"38678324679768674604617366246355994881",
"61030496135242720247217254008645937753",
"238712722546714423990547070978332221291",
"49224946402876133267968355537022390564",
"78650629407568676814687981594980553657"
]
},
"deprecated": false,
"target": {
"file": "net/netfilter/nft_objref.c"
}
}
]