---
id: CVE-2026-98027
title: |-
  In the Linux kernel, the following vulnerability has been resolved:

  net: dsa: mv88e6xxx: bound the policy rule dump by the caller's buffer size

  mv88e6xxx_get_rxnfc() uses rxnfc->rule_cnt as the write index while
  dumping the policy IDR,…
summary: |-
  In the Linux kernel, the following vulnerability has been resolved:

  net: dsa: mv88e6xxx: bound the policy rule dump by the caller's buffer size

  mv88e6xxx_get_rxnfc() uses rxnfc->rule_cnt as the write index while
  dumping the policy IDR,…
severity: high
cvss: 7
cvssVector: 'CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H'
vendor: Linux
product: Linux
affected:
  - >-
    Linux >= da7dc87553046a43be1620a783ce3d9f6583d322 <
    44cd4674d9aa5bdf793b8a8b481c9e8536ed6070
  - >-
    Linux >= da7dc87553046a43be1620a783ce3d9f6583d322 <
    7a683c2b062810bca203e41866389daf387c235b
  - >-
    Linux >= da7dc87553046a43be1620a783ce3d9f6583d322 <
    cda5ac8fe8ac8e80b1703ebb8c4250726fc19739
  - >-
    Linux >= da7dc87553046a43be1620a783ce3d9f6583d322 <
    b1fffc273112e7284c5b705e186b43b5770cd3d5
  - Linux 5.4
published: '2026-09-25'
updated: '2026-09-25'
sourceUpdated: '2026-09-25T15:18:04.193'
source: NVD
sourceUrl: 'https://nvd.nist.gov/vuln/detail/CVE-2026-98027'
references:
  - url: 'https://git.kernel.org/stable/c/44cd4674d9aa5bdf793b8a8b481c9e8536ed6070'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/7a683c2b062810bca203e41866389daf387c235b'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/b1fffc273112e7284c5b705e186b43b5770cd3d5'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/cda5ac8fe8ac8e80b1703ebb8c4250726fc19739'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
tags:
  - nvd
  - cve.org
ingestedAt: '2026-09-25T11:06:38.854Z'
---

## Overview

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

net: dsa: mv88e6xxx: bound the policy rule dump by the caller's buffer size

mv88e6xxx_get_rxnfc() uses rxnfc->rule_cnt as the write index while
dumping the policy IDR, clobbering the input value before it has been
looked at.  That input is the number of 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 policy 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.

Count into a local so the caller's limit survives the walk, and stop with
-EMSGSIZE once it is reached.

## Remediation

Refer to the linked advisories for vendor-supplied fixes and affected version ranges.
