CVE-2025-21806: net: let net.core.dev_weight always be non-zero
In the Linux kernel, the following vulnerability has been resolved:
net: let net.core.dev_weight always be non-zero
The following problem was encountered during stability test:
(NULL net_device): NAPI poll function process_backlog+0x0/0x530 \
returned 1, exceeding its budget of 0.
------------[ cut here ]------------
list_add double add: new=ffff88905f746f48, prev=ffff88905f746f48, \
next=ffff88905f746e40.
WARNING: CPU: 18 PID: 5462 at lib/list_debug.c:35 \
__list_add_valid_or_report+0xf3/0x130
CPU: 18 UID: 0 PID: 5462 Comm: ping Kdump: loaded Not tainted 6.13.0-rc7+
RIP: 0010:__list_add_valid_or_report+0xf3/0x130
Call Trace:
? __warn+0xcd/0x250
? __list_add_valid_or_report+0xf3/0x130
enqueue_to_backlog+0x923/0x1070
netif_rx_internal+0x92/0x2b0
__netif_rx+0x15/0x170
loopback_xmit+0x2ef/0x450
dev_hard_start_xmit+0x103/0x490
__dev_queue_xmit+0xeac/0x1950
ip_finish_output2+0x6cc/0x1620
ip_output+0x161/0x270
ip_push_pending_frames+0x155/0x1a0
raw_sendmsg+0xe13/0x1550
__sys_sendto+0x3bf/0x4e0
__x64_sys_sendto+0xdc/0x1b0
do_syscall_64+0x5b/0x170
entry_SYSCALL_64_after_hwframe+0x76/0x7e
The reproduction command is as follows:
sysctl -w net.core.dev_weight=0
ping 127.0.0.1
This is because when the napi's weight is set to 0, process_backlog() may
return 0 and clear the NAPI_STATE_SCHED bit of napi->state, causing this
napi to be re-polled in net_rx_action() until __do_softirq() times out.
Since the NAPI_STATE_SCHED bit has been cleared, napi_schedule_rps() can
be retriggered in enqueue_to_backlog(), causing this issue.
Making the napi's weight always non-zero solves this problem.
Triggering this issue requires system-wide admin (setting is
not namespaced).
Security readout for executives and security teams
Plain-English summary
CVE-2025-21806 is a Linux kernel networking stability flaw. If a system-wide administrator sets the network backlog weight to zero, kernel packet processing can behave incorrectly and trigger warnings or instability. The source states the setting is not namespaced and requires system-wide admin rights, so this is primarily an operational hardening and patch-management issue.
Executive priority
Treat as routine-to-near-term kernel maintenance unless exposed systems are managed by untrusted administrators or aggressive tuning automation. The main business risk is host instability, not proven remote compromise. Prioritize standard kernel patch cycles and configuration review.
Technical view
The flaw is in Linux NAPI backlog handling when net.core.dev_weight is zero. process_backlog can clear scheduling state, allowing repeated polling and rescheduling through enqueue_to_backlog. Kernel stable fixes make the NAPI weight always non-zero. The CVE record provides no CVSS, CWE, or public weaponization evidence.
Likely exposure
Exposure is limited to Linux systems running affected kernel versions before the stable fixes, where a privileged actor or operational process can set net.core.dev_weight to zero. Cloud tenants without host admin access are unlikely to trigger it directly. Embedded and appliance Linux builds should verify vendor kernel updates.
Exploitation context
The source bundle does not show active exploitation, and KEV is false. Triggering requires system-wide administrator control of a non-namespaced sysctl. This makes unauthenticated remote exploitation unsupported by the cited evidence, but misconfiguration or post-compromise admin activity could cause host instability.
Researcher notes
Evidence supports a kernel networking logic bug tied to a zero dev_weight value. Avoid assuming broader privilege escalation or remote impact from the CVE text alone. The unusual prerequisite, absence of CVSS, and lack of KEV listing should shape severity and detection expectations.
Mitigation direction
Update to a vendor kernel containing the stable fix for CVE-2025-21806.
Do not set net.core.dev_weight to zero in system baselines or tuning profiles.
Check Linux distribution and appliance vendor advisories for patched kernel packages.
Review configuration management for unsafe sysctl overrides affecting net.core.dev_weight.
Validation and detection
Inventory Linux kernel versions across servers, containers hosts, and appliances.
Confirm installed kernels include the referenced upstream stable commit or downstream backport.
Audit sysctl configuration sources for net.core.dev_weight values.
Check vendor advisories for affected product-specific kernel packages.
Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.
Potential ATT&CK relevance
Conservative CVE-to-ATT&CK context
These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.
ATT&CK lookup starting points
Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.
cve · low confidence lookup
CVE-2025-21806 mapping review
Open the CVE-to-ATT&CK bridge for reviewed, inferred, or future official mappings tied to this CVE.
These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.
0CVSS vectors
3Timeline events
2ADP providers
13Source links
Vulnerability timeline
Timeline events are normalized from CVE metadata, CNA source timelines, ADP timelines, and KEV metadata when present.
CVE reservedCVE Program
The CVE ID was reserved by the assigning CNA.
CVE publishedCVE Program
The CVE record was published.
Feb 27, 2025, 20:00 UTC (UTC+00:00)
CVE updatedCVE Program
The CVE record metadata indicates this as the latest update time.