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-03-20T12:41:11.147300Z
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
{
    "cna_assigner": "Linux",
    "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2025/21xxx/CVE-2025-21806.json"
}
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"