CVE-2026-98028: eth: nfp: drop the replaced rule from the list when reprogramming fails

Published Sep 25, 2026
·
Updated

In the Linux kernel, the following vulnerability has been resolved:

eth: nfp: drop the replaced rule from the list when reprogramming fails

nfpnetfsadd() replaces an existing rule by deleting it from the hardware, decrementing nn->fs.count and programming the new one. If nfpnetfsaddhw() fails the old entry stays on nn->fs.list - only the success path reaches listreplace() - so the list is one longer than nn->fs.count, and it advertises a rule whose hardware entry has already been torn down.

nn->fs.count is what ETHTOOLGRXCLSRLCNT reports, so userspace then sizes its buffer one entry short of what the GRXCLSRLALL walk wants to write. That used to overwrite one u32 past the allocation; since the walk is bounded it is a permanent -EMSGSIZE instead, as nothing ever resyncs the counter.

Affected Software

1 affected component
Linux Linux kernel

Event History

Sep 25, 2026
CVE Published
via MITRE·10:23 AM
Data Sourced
via MITRE·10:23 AM
Description

Frequently Asked Questions

1

What conditions are required to trigger the inconsistent rule state?

An existing rule must be replaced, its hardware entry must be deleted, and programming the replacement through nfp_net_fs_add_hw() must then fail. This leaves the old rule on the software list even though its hardware entry has been removed.

2

How can an administrator recognize an affected state?

The ethtool ETHTOOL_GRXCLSRLCNT count can be one lower than the number of entries traversed by ETHTOOL_GRXCLSRLALL. Requests to retrieve all rules can then permanently fail with -EMSGSIZE because the counter is not resynchronized.

3

What is the practical impact after the inconsistency occurs?

Userspace may allocate space for one fewer rule than the all-rules query attempts to return. The bounded walk prevents the prior one-u32 overwrite behavior, but the rules query remains stuck returning -EMSGSIZE until the state is corrected.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203