CVE Catalog

CVE-2026-98027

HighCVSS 7.0
Published: Updated: Translated: NVD NIST

Summary

In the Linux kernel, the DSA mv88e6xxx driver dumps policy rules into a caller-provided buffer without checking its size. mv88e6xxx_get_rxnfc() uses rxnfc->rule_cnt as the write index, clobbering the input value that indicates how many slots the caller had room for, so a user without CAP_NET_ADMIN can call ETHTOOL_GRXCLSRLALL with fewer slots than there are rules and run past the allocation; a rule_cnt of 0 leaves a NULL pointer that gets dereferenced.

Risk Assessment

Once an administrator installs policy rules, any local user can trigger a kernel buffer overflow, leading to memory corruption or a system crash (denial of service).

Recommendation

Update the Linux kernel to a version with the fix that counts into a local variable and stops with -EMSGSIZE once the caller's limit is reached.

Other vulnerabilities in Linux kernel

See all
Original NVD description (English source)

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.

Vulnerability data from NVD (NIST) · CISA KEV · EPSS