In the Linux kernel, the following vulnerability has been resolved:
netfilter: nft_ct: 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 nft_ct_set_zone_eval() (nf_ct_tmpl_alloc -> kzalloc, tuple is all zero, nf_ct_l3num(ct) == 0). The next expression then calls nft_ct_get_eval() on the same skb, treats the template as a real ct and hits the 16-byte memcpy path. With dreg at NFT_REG32_15 this overflows past struct nft_regs on the kernel stack; with smaller dreg values it silently clobbers adjacent registers.
Reject template ct at the eval entry and in nft_ct_get_fast_eval(), mirroring the check nft_ct_set_eval() already has. Additionally, bound the address copy in NFT_CT_SRC / NFT_CT_DST by priv->len instead of by nf_ct_l3num(ct): nf_ct_get_tuple() zeroes the tuple before pkt_to_tuple() 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
CVSS Details
- CVSS 3.1 Base Score: 7.8
- CVSS 3.1 Vector: (CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H)
Covered by Rapid7
| Product | Vendor Advisory | Solution File | Added | Published |
|---|---|---|---|---|
| Amazon_linux_2023 | — | Upgrade bpftool6.18Upgrade kernel6.18-headersUpgrade kernel6.12-debuginfo-common-x86_64Upgrade perf6.18Upgrade kernel6.18-modules-extraUpgrade perf6.12-debuginfoUpgrade kernel6.12Upgrade kernel6.18Upgrade kernel6.18-modules-extra-commonUpgrade microvm-kernel6.18Upgrade python3-perf6.12Upgrade kernel6.12-develUpgrade kernel6.12-toolsUpgrade kernel6.12-tools-develUpgrade kernel6.18-toolsUpgrade kernel6.12-headersUpgrade python3-perf6.18Upgrade perf6.18-debuginfoUpgrade kernel6.18-tools-develUpgrade kernel6.12-debuginfoUpgrade bpftool6.12Upgrade kernel6.12-modules-extra-commonUpgrade kernel6.18-tools-debuginfoUpgrade bpftool6.18-debuginfoUpgrade python3-perf6.12-debuginfoUpgrade kernel6.18-debuginfo-common-aarch64Upgrade kernel6.18-debuginfo-common-x86_64Upgrade kernel6.12-modules-extraUpgrade bpftool6.12-debuginfoUpgrade python3-perf6.18-debuginfoUpgrade perf6.12Upgrade kernel6.12-tools-debuginfoUpgrade kernel-livepatch-6.18.36-69.134Upgrade kernel6.18-debuginfoUpgrade kernel-livepatch-6.12.94-123.174Upgrade kernel6.18-develUpgrade kernel6.12-debuginfo-common-aarch64 | Jul 21, 2026 | Jun 25, 2026 |
| Debian | — | Upgrade linux | Jul 23, 2026 | Jul 23, 2026 |
| Redhat_linux | — | No solution exists | Jul 17, 2026 | Jun 25, 2026 |
| Ubuntu | — | Upgrade linux-image-oem-26.04bUpgrade linux-image-7.0.0-1019-raspiUpgrade linux-image-generic-64k-hwe-26.04Upgrade linux-image-generic-64k-hwe-24.04Upgrade linux-image-realtime-64k-7.0Upgrade linux-image-7.0.0-1006-gke-64kUpgrade linux-image-7.0.0-1011-gcpUpgrade linux-image-oracle-64k-7.0Upgrade linux-image-7.0.0-1019-raspi-realtimeUpgrade linux-image-oracle-64kUpgrade linux-image-gke-64k-hwe-26.04Upgrade linux-image-7.0.0-1006-gkeUpgrade linux-image-azure-lts-26.04Upgrade linux-image-raspi-7.0Upgrade linux-image-realtimeUpgrade linux-image-gke-hwe-26.04Upgrade linux-image-7.0.0-1011-oracle-64kUpgrade linux-image-virtual-7.0Upgrade linux-image-virtual-hwe-24.04Upgrade linux-image-gkeUpgrade linux-image-7.0.0-31-genericUpgrade linux-image-realtime-64kUpgrade linux-image-7.0.0-1011-oracleUpgrade linux-image-7.0.0-1013-ibmUpgrade linux-image-gcp-7.0Upgrade linux-image-generic-64k-7.0Upgrade linux-image-virtualUpgrade linux-image-oracleUpgrade linux-image-7.0.0-1013-oemUpgrade linux-image-gcpUpgrade linux-image-generic-7.0Upgrade linux-image-aws-64kUpgrade linux-image-raspi-realtimeUpgrade linux-image-7.0.0-1014-azureUpgrade linux-image-7.0.0-31-generic-64kUpgrade linux-image-awsUpgrade linux-image-generic-hwe-26.04Upgrade linux-image-nvidia-64k-hwe-26.04Upgrade linux-image-gke-64k-7.0Upgrade linux-image-ibmUpgrade linux-image-nvidia-64k-7.0Upgrade linux-image-gcp-64kUpgrade linux-image-azure-7.0Upgrade linux-image-gke-7.0Upgrade linux-image-gke-64kUpgrade linux-image-7.0.0-1018-nvidiaUpgrade linux-image-nvidia-bos-64kUpgrade linux-image-aws-64k-7.0Upgrade linux-image-nvidia-bosUpgrade linux-image-7.0.0-31-realtime-64kUpgrade linux-image-7.0.0-1012-awsUpgrade linux-image-7.0.0-31-realtimeUpgrade linux-image-virtual-hwe-26.04Upgrade linux-image-realtime-hwe-26.04Upgrade linux-image-oem-26.04aUpgrade linux-image-oem-26.04Upgrade linux-image-nvidia-hwe-26.04Upgrade linux-image-generic-hwe-24.04Upgrade linux-image-generic-64kUpgrade linux-image-gcp-64k-7.0Upgrade linux-image-7.0.0-1018-nvidia-64kUpgrade linux-image-ibm-7.0Upgrade linux-image-oracle-7.0Upgrade linux-image-nvidia-bos-64k-7.0Upgrade linux-image-nvidia-7.0Upgrade linux-image-aws-7.0Upgrade linux-image-nvidia-bos-7.0Upgrade linux-image-realtime-7.0Upgrade linux-image-realtime-64k-hwe-26.04Upgrade linux-image-raspi-realtime-7.0Upgrade linux-image-raspiUpgrade linux-image-oem-7.0Upgrade linux-image-nvidiaUpgrade linux-image-azureUpgrade linux-image-7.0.0-1012-aws-64kUpgrade linux-image-nvidia-64kUpgrade linux-image-genericUpgrade linux-image-7.0.0-1011-gcp-64kUpgrade linux-image-7.0.0-2018-nvidia-bos-64kUpgrade linux-image-7.0.0-2018-nvidia-bos | Sep 14, 2026 | Sep 7, 2026 |
Prioritise with Active Threat Intelligence
With curated Threat Intelligence, you can see which vulnerabilities truly put you at risk, prioritize what matters most, and act before attackers do.
Explore Intelligence Hub