CVE-2026-31681
N/A
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.
Affected Software
| Vendor | Product | Version Range | Status |
|---|---|---|---|
| Linux | Linux | a89ecb6a2ef732d04058d87801e2b6bd7e5c7089 < 8c5bf8f5b478f569191c4a7982de7cd5f5f73c1a | affected |
| Linux | Linux | a89ecb6a2ef732d04058d87801e2b6bd7e5c7089 < c9749f6232c845e31c21d4cc72200211df15d8a2 | affected |
| Linux | Linux | a89ecb6a2ef732d04058d87801e2b6bd7e5c7089 < b67d638cbee9975c765feb45c126e96ed11ec802 | affected |
| Linux | Linux | a89ecb6a2ef732d04058d87801e2b6bd7e5c7089 < 36bf0d98e180a7c384c8d8a59b0d2d4b80e5eb16 | affected |
| Linux | Linux | a89ecb6a2ef732d04058d87801e2b6bd7e5c7089 < aec14808271f2bf2b656de6ff12dfe73c5fd3b67 | affected |
| Linux | Linux | a89ecb6a2ef732d04058d87801e2b6bd7e5c7089 < 8368ce8eb01f0b91111d814703696e780d0ef12f | affected |
| Linux | Linux | a89ecb6a2ef732d04058d87801e2b6bd7e5c7089 < 1e4baa853f1cc4227e04f52d6860524707cfb294 | affected |
| Linux | Linux | a89ecb6a2ef732d04058d87801e2b6bd7e5c7089 < ff64c5bfef12461df8450e0f50bb693b5269c720 | affected |
| Linux | Linux | 2.6.17 | affected |
| Linux | Linux | 0 < 2.6.17 | unaffected |
| Linux | Linux | 5.10.258 <= 5.10.* | unaffected |
| Linux | Linux | 5.15.209 <= 5.15.* | unaffected |
| Linux | Linux | 6.1.175 <= 6.1.* | unaffected |
| Linux | Linux | 6.6.136 <= 6.6.* | unaffected |
| Linux | Linux | 6.12.83 <= 6.12.* | unaffected |
| Linux | Linux | 6.18.24 <= 6.18.* | unaffected |
| Linux | Linux | 6.19.14 <= 6.19.* | unaffected |
| Linux | Linux | 7.0 <= * | unaffected |
Weaknesses
References
- https://git.kernel.org/stable/c/8c5bf8f5b478f569191c4a7982de7cd5f5f73c1a
- https://git.kernel.org/stable/c/c9749f6232c845e31c21d4cc72200211df15d8a2
- https://git.kernel.org/stable/c/b67d638cbee9975c765feb45c126e96ed11ec802
- https://git.kernel.org/stable/c/36bf0d98e180a7c384c8d8a59b0d2d4b80e5eb16
- https://git.kernel.org/stable/c/aec14808271f2bf2b656de6ff12dfe73c5fd3b67
- https://git.kernel.org/stable/c/8368ce8eb01f0b91111d814703696e780d0ef12f
- https://git.kernel.org/stable/c/1e4baa853f1cc4227e04f52d6860524707cfb294
- https://git.kernel.org/stable/c/ff64c5bfef12461df8450e0f50bb693b5269c720
Feedback
Was this page helpful?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.