CVE-2026-53267: netfilter: nft_ct: bail out on template ct in get eval
In the Linux kernel, the following vulnerability has been resolved:
netfilter: nftct: bail out on template ct in get eval
I noticed this issue while looking at a historic syzbot report [1].
A rule like the one below is enough to trigger the bug:
table ip t { chain pre { type filter hook prerouting priority raw; ct zone set 1 ct original saddr 1.2.3.4 accept } }
The first expression attaches a per-cpu template ct via nftctsetzoneeval() (nfcttmplalloc -> kzalloc, tuple is all zero, nfctl3num(ct) == 0). The next expression then calls nftctgeteval() on the same skb, treats the template as a real ct and hits the 16-byte memcpy path. With dreg at NFTREG3215 this overflows past struct nftregs on the kernel stack; with smaller dreg values it silently clobbers adjacent registers.
Reject template ct at the eval entry and in nftctgetfasteval(), mirroring the check nftctseteval() already has. Additionally, bound the address copy in NFTCTSRC / NFTCTDST by priv->len instead of by nfctl3num(ct): nfctgettuple() zeroes the tuple before pkttotuple() fills in only the protocol-relevant leading bytes, so the trailing bytes of tuple->{src,dst}.u3.all are well-defined zero. priv->len is validated at rule load, so the copy size is now bounded by the destination register rather than by an untrusted field on the conntrack.
[1]: https://syzkaller.appspot.com/bug?id=389cf09cb72926114fce90dc85a2c3231dcb647c
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade to a fixed release to a version that resolves this vulnerability.
Fixed in 6.6.143.1-1 - Upgrade
Upgrade
Linux kernel (netfilter: nft_ct)to a version that resolves this vulnerability.Patch netfilter: nft_ct: bail out on template ct in get eval - Configuration
Update/align kernel netfilter nftables behavior so that template ct is rejected at the eval entry and in nft_ct_get_fast_eval(), preventing the 16-byte memcpy path from clobbering adjacent registers via an untrusted template ct/priv->len overflow.
netfilter nftables rule template ct handling at eval entry and in nft_ct_get_fast_eval() = Reject template ct at the eval entry and in nft_ct_get_fast_eval()
Event History
Frequently Asked Questions
What is the severity of CVE-2026-53267?
CVE-2026-53267 has a risk rating of 75, indicating a medium to high severity level.
How do I fix CVE-2026-53267?
To mitigate CVE-2026-53267, update to the latest stable version of the Linux kernel that includes the fix.
What is the nature of CVE-2026-53267 vulnerability?
CVE-2026-53267 involves a bug in the netfilter nft_ct module of the Linux kernel that can be triggered by specific rule configurations.
Which software is affected by CVE-2026-53267?
CVE-2026-53267 affects the Linux kernel in general, particularly users utilizing netfilter for packet filtering.
When was CVE-2026-53267 published?
CVE-2026-53267 was published on June 25, 2026.