CVE-2025-21806

Source
https://cve.org/CVERecord?id=CVE-2025-21806
Import Source
https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2025-21806.json
JSON Data
https://api.test.osv.dev/v1/vulns/CVE-2025-21806
Downstream
Related
Published
2025-02-27T20:00:58.918Z
Modified
2026-05-07T04:17:33.019099Z
Summary
net: let net.core.dev_weight always be non-zero
Details

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 netdevice): NAPI poll function processbacklog+0x0/0x530 \ returned 1, exceeding its budget of 0. ------------[ cut here ]------------ listadd double add: new=ffff88905f746f48, prev=ffff88905f746f48, \ next=ffff88905f746e40. WARNING: CPU: 18 PID: 5462 at lib/listdebug.c:35 \ __listaddvalidorreport+0xf3/0x130 CPU: 18 UID: 0 PID: 5462 Comm: ping Kdump: loaded Not tainted 6.13.0-rc7+ RIP: 0010:__listaddvalidorreport+0xf3/0x130 Call Trace: ? __warn+0xcd/0x250 ? __listaddvalidorreport+0xf3/0x130 enqueuetobacklog+0x923/0x1070 netifrxinternal+0x92/0x2b0 __netifrx+0x15/0x170 loopbackxmit+0x2ef/0x450 dev_hardstartxmit+0x103/0x490 __devqueuexmit+0xeac/0x1950 ip_finishoutput2+0x6cc/0x1620 ipoutput+0x161/0x270 ippushpendingframes+0x155/0x1a0 rawsendmsg+0xe13/0x1550 __sys_sendto+0x3bf/0x4e0 __x64syssendto+0xdc/0x1b0 dosyscall64+0x5b/0x170 entrySYSCALL64afterhwframe+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, processbacklog() may return 0 and clear the NAPISTATESCHED bit of napi->state, causing this napi to be re-polled in netrx_action() until _dosoftirq() times out. Since the NAPISTATESCHED bit has been cleared, napischedulerps() can be retriggered in enqueuetobacklog(), 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).

Database specific
{
    "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2025/21xxx/CVE-2025-21806.json",
    "cna_assigner": "Linux"
}
References

Affected packages

Git / git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git

Affected ranges

Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
e3876605450979fe52a1a03e7eb78a89bf59e76a
Fixed
d0e0f9c8218826926d7692980c98236d9f21fd3c
Fixed
c337c08819a4ec49edfdcd8fc46fbee120d8a5b2
Fixed
0e2f1d93d287d544d26f8ff293ea820a8079b9f8
Fixed
5860abbf15eeb61838b5e32e721ba67b0aa84450
Fixed
6ce38b5a6a49e65bad163162a54cb3f104c40b48
Fixed
33e2168788f8fb5cb8bd4f36cb1ef37d1d34dada
Fixed
1489824e5226a26841c70639ebd2d1aed390764b
Fixed
d1f9f79fa2af8e3b45cffdeef66e05833480148a

Database specific

source
"https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2025-21806.json"

Linux / Kernel

Package

Name
Kernel

Affected ranges

Type
ECOSYSTEM
Events
Introduced
2.6.12
Fixed
5.4.291
Type
ECOSYSTEM
Events
Introduced
5.5.0
Fixed
5.10.235
Type
ECOSYSTEM
Events
Introduced
5.11.0
Fixed
5.15.179
Type
ECOSYSTEM
Events
Introduced
5.16.0
Fixed
6.1.129
Type
ECOSYSTEM
Events
Introduced
6.2.0
Fixed
6.6.76
Type
ECOSYSTEM
Events
Introduced
6.7.0
Fixed
6.12.13
Type
ECOSYSTEM
Events
Introduced
6.13.0
Fixed
6.13.2

Database specific

source
"https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2025-21806.json"