net: dsa: bcm_sf2: bound the CFP rule dump by the caller's buffer size
- 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.271, 5.15.222, 6.1.189, 6.6.158, 6.12.111, 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: net: dsa: bcm_sf2: bound the CFP rule dump by the caller's buffer size bcm_sf2_cfp_rule_get_all() walks the whole cfp.unique bitmap into rule_locs[] without consulting nfc->rule_cnt, which is how many entries the caller had room for. ETHTOOL_GRXCLSRLALL requires no CAP_NET_ADMIN and the ioctl sizes the buffer from the rule_cnt userspace passes in, so once an admin has installed CFP rules any user can ask for fewer slots than there are rules and run off the end of the allocation. A rule_cnt of 0 leaves the buffer pointer NULL and the walk dereferences it.
Timeline
- CVE published
- Record last updated
Affected versions
- Linux Linux
From 7318166cacad158b46240f66250d7cc5a481653b · fixed in ca49c526291d7cd3a5cb49b0edd7f50a5ae7176e; From 7318166cacad158b46240f66250d7cc5a481653b · fixed in 8e41ce02589c92356bfd8ef62f6ceff840546e1a; From 7318166cacad158b46240f66250d7cc5a481653b · fixed in f2cf4ef2d94fc15fd2e21c131fc1ab3f76125bf4; From 7318166cacad158b46240f66250d7cc5a481653b · fixed in f5e93162b3dd195bfda815e8f7a39aaf1d45437b; From 7318166cacad158b46240f66250d7cc5a481653b · fixed in f1a2869b3629c0e8394b77b38cb9f19a018c653c; From 7318166cacad158b46240f66250d7cc5a481653b · fixed in fd1a78c16b1f6978c09cf048e15f349732e4c707; From 7318166cacad158b46240f66250d7cc5a481653b · fixed in b231b6d8516d3fe0d4bba549908e08d26a4531a5; From 7318166cacad158b46240f66250d7cc5a481653b · fixed in cdb719f4b8596d9ccee2d56d204c2c4dce982f46
- Linux Linux
4.11
- KernelLinux
From 4.11.0 · fixed in 5.10.271; From 5.11.0 · fixed in 5.15.222; From 5.16.0 · fixed in 6.1.189; From 6.2.0 · fixed in 6.6.158; From 6.7.0 · fixed in 6.12.111; From 6.13.0 · fixed in 6.18.53; From 6.19.0 · fixed in 7.2.7
References 8
git.kernel.org
- stable/c/ca49c526291d7cd3a5cb49b0edd7f50a5ae7176e
- stable/c/8e41ce02589c92356bfd8ef62f6ceff840546e1a
- stable/c/f2cf4ef2d94fc15fd2e21c131fc1ab3f76125bf4
- stable/c/f5e93162b3dd195bfda815e8f7a39aaf1d45437b
- stable/c/f1a2869b3629c0e8394b77b38cb9f19a018c653c
- stable/c/fd1a78c16b1f6978c09cf048e15f349732e4c707
- stable/c/b231b6d8516d3fe0d4bba549908e08d26a4531a5
- stable/c/cdb719f4b8596d9ccee2d56d204c2c4dce982f46