netfilter: xt_multiport: validate range encoding in checkentry
- Published
- Last modified
- Where the record stands: published, rejected by its publisher, or superseded by another id.What do these mean? →
- published
- Whether CISA lists it in its Known Exploited Vulnerabilities catalog: proof that attackers are using it.What do these mean? →
- 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
- Whether working attack code is public (Exploit-DB, Metasploit, Nuclei or GitHub). Public code makes attacks easier.What do these mean? →
- 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
- CVE published
- 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
- stable/c/8c5bf8f5b478f569191c4a7982de7cd5f5f73c1a
- stable/c/c9749f6232c845e31c21d4cc72200211df15d8a2
- stable/c/b67d638cbee9975c765feb45c126e96ed11ec802
- stable/c/36bf0d98e180a7c384c8d8a59b0d2d4b80e5eb16
- stable/c/aec14808271f2bf2b656de6ff12dfe73c5fd3b67
- stable/c/8368ce8eb01f0b91111d814703696e780d0ef12f
- stable/c/1e4baa853f1cc4227e04f52d6860524707cfb294
- stable/c/ff64c5bfef12461df8450e0f50bb693b5269c720