Description
In the Linux kernel, the following vulnerability has been resolved: eth: nfp: bound the ntuple rule dump by the caller's buffer size nfp_net_get_fs_loc() dumps every entry of nn->fs.list into rule_locs[] without consulting cmd->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 flow steering 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. Bail out with -EMSGSIZE when the buffer fills up, the way the other ntuple capable drivers do, and report how many locations were filled so a shrinking rule list does not leave the caller reading stale slots.
Affected products
Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.
Linux Linux
Default version status: unaffected
9eb03bb1c035ff6e2c3a34046419446588253dda to < 82812583b9c69c241da6da4186f14e9df2516488affected9eb03bb1c035ff6e2c3a34046419446588253dda to < a7e023c63e855761c1426cee8d17c2bca32aa339affected9eb03bb1c035ff6e2c3a34046419446588253dda to < ecebfdaab72a504c10f4907bd00fc3b705ec3b12affected9eb03bb1c035ff6e2c3a34046419446588253dda to < f1986bf87b0709c95126fe196cf39e5b8c8453a1affected
Linux Linux
Default version status: affected
6.8affected0 to < 6.8unaffected6.12.111 to ≤ 6.12.*unaffected6.18.53 to ≤ 6.18.*unaffected7.2.7 to ≤ 7.2.*unaffected7.3 to ≤ *unaffected