CVE-2026-31495: netfilter: ctnetlink: use netlink policy range checks

Published Apr 22, 2026
·
Updated

In the Linux kernel, the following vulnerability has been resolved:

netfilter: ctnetlink: use netlink policy range checks

Replace manual range and mask validations with netlink policy annotations in ctnetlink code paths, so that the netlink core rejects invalid values early and can generate extack errors.

- CTAPROTOINFOTCPSTATE: reject values > TCPCONNTRACKSYNSENT2 at policy level, removing the manual >= TCPCONNTRACKMAX check. - CTAPROTOINFOTCPWSCALEORIGINAL/REPLY: reject values > TCPMAXWSCALE (14). The normal TCP option parsing path already clamps to this value, but the ctnetlink path accepted 0-255, causing undefined behavior when used as a u32 shift count. - CTAFILTERORIGFLAGS/REPLYFLAGS: use NLAPOLICYMASK with CTAFILTERFALL, removing the manual mask checks. - CTAEXPECTFLAGS: use NLAPOLICYMASK with NFCTEXPECTMASK, adding a new mask define grouping all valid expect flags.

Extracted from a broader nf-next patch by Florian Westphal, scoped to ctnetlink for the fixes tree.

Affected Software

17 affected componentsFixes available
Linux Linux kernel (netfilter ctnetlink)
Linux Linux kernel>=2.6.22.1<5.10.253
Linux Linux kernel>=5.11<5.15.203
Linux Linux kernel>=5.16<6.1.168
Linux Linux kernel>=6.2<6.6.131
Linux Linux kernel>=6.7<6.12.80
Linux Linux kernel>=6.13<6.18.21
Linux Linux kernel>=6.19<6.19.11
Linux Linux kernel=2.6.22
Linux Linux kernel=7.0-rc1
Linux Linux kernel=7.0-rc2
Linux Linux kernel=7.0-rc3
Linux Linux kernel=7.0-rc4
Linux Linux kernel=7.0-rc5
Linux Linux kernel=7.0-rc6
Linux Linux kernel=7.0-rc7
Microsoft azl3 kernel 6.6.130.1-3

Event History

Apr 22, 2026
CVE Published
via MITRE·01:54 PM
Data Sourced
via MITRE·01:54 PM
Description
Data Sourced
via NVD·02:16 PM
RemedyDescriptionSeverityAffected Software
Apr 23, 2026
Data Sourced
via Microsoft·08:07 AM
DescriptionSeverityWeaknessAffected Software

Frequently Asked Questions

1

What access does an attacker need to trigger this issue?

The CVSS vector indicates local access and low privileges are required, with no user interaction. Exploitation involves sending crafted ctnetlink netlink attributes containing out-of-range TCP state or window-scale values, or invalid flag bits.

2

Which inputs are relevant to the vulnerability?

The affected ctnetlink attributes include CTA_PROTOINFO_TCP_STATE, CTA_PROTOINFO_TCP_WSCALE_ORIGINAL, CTA_PROTOINFO_TCP_WSCALE_REPLY, CTA_FILTER_ORIG_FLAGS, CTA_FILTER_REPLY_FLAGS, and CTA_EXPECT_FLAGS. In particular, TCP window-scale values above 14 were accepted and could be used as a u32 shift count, resulting in undefined behavior.

3

What is the expected impact?

The reported CVSS score is 5.5 (medium) and identifies availability impact as high, with no confidentiality or integrity impact. The scope is unchanged.

4

How does the fix prevent exploitation?

The fix moves range and flag-mask validation into ctnetlink netlink policy annotations. This causes the netlink core to reject invalid values earlier and generate extended acknowledgement errors, instead of relying on later manual validation.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203