Skip to main content
← All vulnerabilities
CVE-2026-31681

netfilter: xt_multiport: validate range encoding in checkentry

Published
Last modified
published
Not listed in CISA KEV
Fix
Fixed in 5.10.258, 5.15.209, 6.1.175, 6.6.136, 6.12.83, and 2 more
None on Exploit-DB, Metasploit or GitHub

Summary

In the Linux kernel, the following vulnerability has been resolved: netfilter: xt_multiport: validate range encoding in checkentry ports_match_v1() treats any non-zero pflags entry as the start of a port range and unconditionally consumes the next ports[] element as the range end. The checkentry path currently validates protocol, flags and count, but it does not validate the range encoding itself. As a result, malformed rules can mark the last slot as a range start or place two range starts back to back, leaving ports_match_v1() to step past the last valid ports[] element while interpreting the rule. Reject malformed multiport v1 rules in checkentry by validating that each range start has a following element and that the following element is not itself marked as another range start.

Timeline

  1. CVE published
  2. Record last updated

Affected versions

  • Linux Linux

    From a89ecb6a2ef732d04058d87801e2b6bd7e5c7089 · fixed in 8c5bf8f5b478f569191c4a7982de7cd5f5f73c1a; From a89ecb6a2ef732d04058d87801e2b6bd7e5c7089 · fixed in c9749f6232c845e31c21d4cc72200211df15d8a2; From a89ecb6a2ef732d04058d87801e2b6bd7e5c7089 · fixed in b67d638cbee9975c765feb45c126e96ed11ec802; From a89ecb6a2ef732d04058d87801e2b6bd7e5c7089 · fixed in 36bf0d98e180a7c384c8d8a59b0d2d4b80e5eb16; From a89ecb6a2ef732d04058d87801e2b6bd7e5c7089 · fixed in aec14808271f2bf2b656de6ff12dfe73c5fd3b67; From a89ecb6a2ef732d04058d87801e2b6bd7e5c7089 · fixed in 8368ce8eb01f0b91111d814703696e780d0ef12f; From a89ecb6a2ef732d04058d87801e2b6bd7e5c7089 · fixed in 1e4baa853f1cc4227e04f52d6860524707cfb294; From a89ecb6a2ef732d04058d87801e2b6bd7e5c7089 · fixed in ff64c5bfef12461df8450e0f50bb693b5269c720

  • Linux Linux

    2.6.17

  • KernelLinux

    From 2.6.17 · fixed in 5.10.258; From 5.11.0 · fixed in 5.15.209; From 5.16.0 · fixed in 6.1.175; From 6.2.0 · fixed in 6.6.136; From 6.7.0 · fixed in 6.12.83; From 6.13.0 · fixed in 6.18.24; From 6.19.0 · fixed in 6.19.14

References 8

git.kernel.org