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

net: reject oversized tx_queue_len at netlink parse time

rtnl_create_link() assigns IFLA_TXQLEN directly to dev->tx_queue_len
without going through netif_change_tx_queue_len(), so a device created
with "ip link add ... txqueuelen 500000" bypasses the S16_MAX cap and
still triggers the oversized ring allocations in pfifo_fast, tun and
tap. The veth peer nest (rtnl_nla_parse_ifinfomsg()) and the
RTM_NEWLINK-on-existing-device path reach the same sinks.

Enforce the cap in ifla_policy instead: IFLA_TXQLEN becomes
NLA_POLICY_FULL_RANGE(NLA_U32, &txqlen_range) with
txqlen_range = { .min = 0, .max = S16_MAX }. All netlink consumers
parse against this policy - rtnl_setlink(), rtnl_newlink() (create
and change), and the veth peer nest - so every netlink path is capped
at parse time and rejects the attribute with -ERANGE plus a proper
"integer out of range" extack message before any device state is
modified (the RTM_SETLINK half-application wart is gone with it).

Document the bound in the rt-link.yaml netlink spec.

Conditions to recreate the bug:
- CONFIG_NET_SCHED=y, CONFIG_VETH=y, CONFIG_USER_NS=y, CONFIG_NET_NS=y.
- Unprivileged user in a fresh user+net namespace (unshare -Urn):
ip link add v0 txqueuelen 500000 type veth peer name v1
-> on the fixed kernel this is rejected with -ERANGE ("integer out
of range" extack) instead of installing an oversized tx_queue_len
that later inflates pfifo_fast/tun/tap ring allocations.
- ip link set v0 txqueuelen 500000 is likewise rejected at parse time.
Published: 2026-09-25
Score: 5.5 Medium
EPSS: < 1% Very Low
KEV: No
Impact: Denial of Service via resource exhaustion
Action: Immediate Patch
AI Analysis

Impact

In the Linux kernel, the flaw lets an attacker specify a transmit queue length that exceeds the predefined 16-bit maximum. By assigning this oversized value directly to the device structure, the kernel allocates excessively large ring buffers for pfifo_fast, tun, and tap devices. The result is a denial-of-service condition caused by memory exhaustion and potential instability of the networking stack. The bug is triggered at netlink parse time, so the invalid attribute is accepted until after allocation, making the attack practical.

Affected Systems

The issue arises in Linux kernels that have NET_SCHED, VETH, USER_NS, and NET_NS enabled. An attacker can reproduce it by creating a new user and network namespace and issuing the ip link command with a txqueuelen value larger than the allowed range. The vulnerability affects any system running a kernel version prior to the commit that enforces the cap at parse time.

Risk and Exploitability

The CVSS score of 5.5 indicates moderate severity, and EPSS score is <1%. The exploit path is straightforward: any user who can create or modify links inside a namespace can supply the oversized value. The vulnerability is local and does not require elevated privileges beyond the ability to use netlink in a namespace. Although it is not listed in the CISA KEV catalog, the potential for widespread denial-of-service makes it a high-risk concern for services that rely on large traffic queues.

Generated by OpenCVE AI on September 30, 2026 at 15:16 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade the Linux kernel to a release that includes the patch enforcing the tx_queue_len cap.
  • Restrict unprivileged users from creating network namespaces or executing ip link commands, for example by disabling user namespaces or tightening capability assignments.
  • If a kernel upgrade is not immediately possible, apply a local firewall or SELinux/AppArmor rule to deny the NETLINK_NETFILTER capability for non-privileged processes, limiting their ability to send the offending attribute.

Generated by OpenCVE AI on September 30, 2026 at 15:16 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Debian DLA Debian DLA DLA-4817-1 linux-6.12 security update
Debian DSA Debian DSA DSA-6528-1 linux security update
History

Wed, 21 Oct 2026 13:15:00 +0000


Tue, 29 Sep 2026 20:30:00 +0000

Type Values Removed Values Added
Weaknesses CWE-20
CWE-770

Tue, 29 Sep 2026 13:15:00 +0000

Type Values Removed Values Added
Weaknesses CWE-1284
References
Metrics threat_severity

None

cvssV3_1

{'score': 5.5, 'vector': 'CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H'}

threat_severity

Low


Fri, 25 Sep 2026 15:30:00 +0000

Type Values Removed Values Added
Weaknesses CWE-20
CWE-770

Fri, 25 Sep 2026 10:30:00 +0000

Type Values Removed Values Added
Description In the Linux kernel, the following vulnerability has been resolved: net: reject oversized tx_queue_len at netlink parse time rtnl_create_link() assigns IFLA_TXQLEN directly to dev->tx_queue_len without going through netif_change_tx_queue_len(), so a device created with "ip link add ... txqueuelen 500000" bypasses the S16_MAX cap and still triggers the oversized ring allocations in pfifo_fast, tun and tap. The veth peer nest (rtnl_nla_parse_ifinfomsg()) and the RTM_NEWLINK-on-existing-device path reach the same sinks. Enforce the cap in ifla_policy instead: IFLA_TXQLEN becomes NLA_POLICY_FULL_RANGE(NLA_U32, &txqlen_range) with txqlen_range = { .min = 0, .max = S16_MAX }. All netlink consumers parse against this policy - rtnl_setlink(), rtnl_newlink() (create and change), and the veth peer nest - so every netlink path is capped at parse time and rejects the attribute with -ERANGE plus a proper "integer out of range" extack message before any device state is modified (the RTM_SETLINK half-application wart is gone with it). Document the bound in the rt-link.yaml netlink spec. Conditions to recreate the bug: - CONFIG_NET_SCHED=y, CONFIG_VETH=y, CONFIG_USER_NS=y, CONFIG_NET_NS=y. - Unprivileged user in a fresh user+net namespace (unshare -Urn): ip link add v0 txqueuelen 500000 type veth peer name v1 -> on the fixed kernel this is rejected with -ERANGE ("integer out of range" extack) instead of installing an oversized tx_queue_len that later inflates pfifo_fast/tun/tap ring allocations. - ip link set v0 txqueuelen 500000 is likewise rejected at parse time.
Title net: reject oversized tx_queue_len at netlink parse time
First Time appeared Linux
Linux linux Kernel
CPEs cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
Vendors & Products Linux
Linux linux Kernel
References

Subscriptions

Linux Linux Kernel
cve-icon MITRE

Status: PUBLISHED

Assigner: Linux

Published:

Updated: 2026-10-21T12:54:05.196Z

Reserved: 2026-09-25T10:19:56.069Z

Link: CVE-2026-98021

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-09-25T11:17:30.613

Modified: 2026-10-21T13:21:19.287

Link: CVE-2026-98021

cve-icon Redhat

Severity : Low

Publid Date: 2026-09-25T00:00:00Z

Links: CVE-2026-98021 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-09-30T15:30:14Z

Weaknesses
  • CWE-1284

    Improper Validation of Specified Quantity in Input