KernelScan.io

HIGH Introduced in 6.8

nfp FsLoc OOB

CVE-2026-98029

CVSS 7.0 / 10.0 NVD

CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H

KernelScan AI7.8HIGH

01

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.

02

Engine v0.6.0

Risk summary

Any local user on a system with an NFP network card that has flow steering rules configured can trigger a heap buffer overflow or kernel panic through the ethtool interface without requiring any special privileges. The vulnerability allows corruption of kernel memory or denial of service, potentially leading to code execution in kernel context. Systems without NFP hardware or without flow steering rules installed are not affected.

Affecteddrivers/net/ethernet/netronome/nfp/nfp_net_ethtool.c (nfp network driver)

Vulnerability analysis

A network driver's flow steering rule dump writes every installed rule into the caller's buffer without checking how many entries the caller allocated room for. An unprivileged local user can request fewer slots than there are rules, causing the driver to write past the end of the buffer; a zero-length request causes a null pointer dereference and kernel crash. The fix bounds the dump by the caller's buffer size, returning an error when the buffer fills up, and reports the actual number of entries written so stale data is not left behind. The path is reachable by any local user through the standard network device configuration interface on a system with the affected network card and flow steering rules configured by an administrator.

03

BranchIntroducedFixed inPatch commit
6.126.86.12.11182812583b9c6
6.186.86.18.53a7e023c63e85
7.26.87.2.7ecebfdaab72a
mainline6.87.3-rc3f1986bf87b07
cip/6.126.86.12.111-cip3282812583b9c6