CVE-2025-39911
Severity CVSS v4.0:
Pending analysis
Type:
Unavailable / Other
Publication date:
01/10/2025
Last modified:
16/01/2026
Description
In the Linux kernel, the following vulnerability has been resolved:<br />
<br />
i40e: fix IRQ freeing in i40e_vsi_request_irq_msix error path<br />
<br />
If request_irq() in i40e_vsi_request_irq_msix() fails in an iteration<br />
later than the first, the error path wants to free the IRQs requested<br />
so far. However, it uses the wrong dev_id argument for free_irq(), so<br />
it does not free the IRQs correctly and instead triggers the warning:<br />
<br />
Trying to free already-free IRQ 173<br />
WARNING: CPU: 25 PID: 1091 at kernel/irq/manage.c:1829 __free_irq+0x192/0x2c0<br />
Modules linked in: i40e(+) [...]<br />
CPU: 25 UID: 0 PID: 1091 Comm: NetworkManager Not tainted 6.17.0-rc1+ #1 PREEMPT(lazy)<br />
Hardware name: [...]<br />
RIP: 0010:__free_irq+0x192/0x2c0<br />
[...]<br />
Call Trace:<br />
<br />
free_irq+0x32/0x70<br />
i40e_vsi_request_irq_msix.cold+0x63/0x8b [i40e]<br />
i40e_vsi_request_irq+0x79/0x80 [i40e]<br />
i40e_vsi_open+0x21f/0x2f0 [i40e]<br />
i40e_open+0x63/0x130 [i40e]<br />
__dev_open+0xfc/0x210<br />
__dev_change_flags+0x1fc/0x240<br />
netif_change_flags+0x27/0x70<br />
do_setlink.isra.0+0x341/0xc70<br />
rtnl_newlink+0x468/0x860<br />
rtnetlink_rcv_msg+0x375/0x450<br />
netlink_rcv_skb+0x5c/0x110<br />
netlink_unicast+0x288/0x3c0<br />
netlink_sendmsg+0x20d/0x430<br />
____sys_sendmsg+0x3a2/0x3d0<br />
___sys_sendmsg+0x99/0xe0<br />
__sys_sendmsg+0x8a/0xf0<br />
do_syscall_64+0x82/0x2c0<br />
entry_SYSCALL_64_after_hwframe+0x76/0x7e<br />
[...]<br />
<br />
---[ end trace 0000000000000000 ]---<br />
<br />
Use the same dev_id for free_irq() as for request_irq().<br />
<br />
I tested this with inserting code to fail intentionally.
Impact
Base Score 3.x
7.80
Severity 3.x
HIGH
Vulnerable products and versions
| CPE | From | Up to |
|---|---|---|
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 3.13 (including) | 5.4.300 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.5 (including) | 5.10.245 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.11 (including) | 5.15.194 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.16 (including) | 6.1.153 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.2 (including) | 6.6.107 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.7 (including) | 6.12.48 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.13 (including) | 6.16.8 (excluding) |
| cpe:2.3:o:linux:linux_kernel:6.17:rc1:*:*:*:*:*:* | ||
| cpe:2.3:o:linux:linux_kernel:6.17:rc2:*:*:*:*:*:* | ||
| cpe:2.3:o:linux:linux_kernel:6.17:rc3:*:*:*:*:*:* | ||
| cpe:2.3:o:linux:linux_kernel:6.17:rc4:*:*:*:*:*:* | ||
| cpe:2.3:o:linux:linux_kernel:6.17:rc5:*:*:*:*:*:* | ||
| cpe:2.3:o:debian:debian_linux:11.0:*:*:*:*:*:*:* |
To consult the complete list of CPE names with products and versions, see this page
References to Advisories, Solutions, and Tools
- https://git.kernel.org/stable/c/13ab9adef3cd386511c930a9660ae06595007f89
- https://git.kernel.org/stable/c/23431998a37764c464737b855c71a81d50992e98
- https://git.kernel.org/stable/c/6e4016c0dca53afc71e3b99e24252b63417395df
- https://git.kernel.org/stable/c/915470e1b44e71d1dd07ee067276f003c3521ee3
- https://git.kernel.org/stable/c/a30afd6617c30aaa338d1dbcb1e34e7a1890085c
- https://git.kernel.org/stable/c/b905b2acb3a0bbb08ad9be9984d8cdabdf827315
- https://git.kernel.org/stable/c/b9721a023df38cf44a88f2739b4cf51efd051f85
- https://git.kernel.org/stable/c/c62580674ce5feb1be4f90b5873ff3ce50e0a1db
- https://lists.debian.org/debian-lts-announce/2025/10/msg00008.html



