CVE-2026-43026: netfilter: ctnetlink: zero expect NAT fields when CTA_EXPECT_NAT absent
In the Linux kernel, the following vulnerability has been resolved:
netfilter: ctnetlink: zero expect NAT fields when CTAEXPECTNAT absent
ctnetlinkallocexpect() allocates expectations from a non-zeroing slab cache via nfctexpectalloc(). When CTAEXPECTNAT is not present in the netlink message, savedaddr and savedproto are never initialized. Stale data from a previous slab occupant can then be dumped to userspace by ctnetlinkexpdumpexpect(), which checks these fields to decide whether to emit CTAEXPECTNAT.
The safe sibling nfctexpectinit(), used by the packet path, explicitly zeroes these fields.
Zero savedaddr, savedproto and dir in the else branch, guarded by ISENABLED(CONFIGNFNAT) since these fields only exist when NAT is enabled.
Confirmed by priming the expect slab with NAT-bearing expectations, freeing them, creating a new expectation without CTAEXPECTNAT, and observing that the ctnetlink dump emits a spurious CTAEXPECTNAT containing stale data from the prior allocation.
Affected Software
Event History
Frequently Asked Questions
What is the severity of CVE-2026-43026?
CVE-2026-43026 is classified as a medium severity vulnerability.
How do I fix CVE-2026-43026?
To fix CVE-2026-43026, update to the latest stable version of the Linux kernel that includes the patch.
What systems are affected by CVE-2026-43026?
CVE-2026-43026 affects the Linux kernel specifically in the netfilter ctnetlink component.
What type of vulnerability is CVE-2026-43026?
CVE-2026-43026 is a memory management vulnerability related to zeroing fields in allocated expectations.
Can CVE-2026-43026 be exploited remotely?
Yes, if the netfilter configurations are improperly set, CVE-2026-43026 may be exploited remotely.