CVE-2025-40091: ixgbe: fix too early devlink_free() in ixgbe_remove()
In the Linux kernel, the following vulnerability has been resolved:
ixgbe: fix too early devlink_free() in ixgbe_remove()
Since ixgbe_adapter is embedded in devlink, calling devlink_free()
prematurely in the ixgbe_remove() path can lead to UAF. Move devlink_free()
to the end.
KASAN report:
BUG: KASAN: use-after-free in ixgbe_reset_interrupt_capability+0x140/0x180 [ixgbe]
Read of size 8 at addr ffff0000adf813e0 by task bash/2095
CPU: 1 UID: 0 PID: 2095 Comm: bash Tainted: G S 6.17.0-rc2-tnguy.net-queue+ #1 PREEMPT(full)
[...]
Call trace:
show_stack+0x30/0x90 (C)
dump_stack_lvl+0x9c/0xd0
print_address_description.constprop.0+0x90/0x310
print_report+0x104/0x1f0
kasan_report+0x88/0x180
__asan_report_load8_noabort+0x20/0x30
ixgbe_reset_interrupt_capability+0x140/0x180 [ixgbe]
ixgbe_clear_interrupt_scheme+0xf8/0x130 [ixgbe]
ixgbe_remove+0x2d0/0x8c0 [ixgbe]
pci_device_remove+0xa0/0x220
device_remove+0xb8/0x170
device_release_driver_internal+0x318/0x490
device_driver_detach+0x40/0x68
unbind_store+0xec/0x118
drv_attr_store+0x64/0xb8
sysfs_kf_write+0xcc/0x138
kernfs_fop_write_iter+0x294/0x440
new_sync_write+0x1fc/0x588
vfs_write+0x480/0x6a0
ksys_write+0xf0/0x1e0
__arm64_sys_write+0x70/0xc0
invoke_syscall.constprop.0+0xcc/0x280
el0_svc_common.constprop.0+0xa8/0x248
do_el0_svc+0x44/0x68
el0_svc+0x54/0x160
el0t_64_sync_handler+0xa0/0xe8
el0t_64_sync+0x1b0/0x1b8
Security readout for executives and security teams
Plain-English summary
CVE-2025-40091 is a Linux kernel memory lifetime bug in the ixgbe network driver. When an affected Intel 10GbE adapter driver is removed, the kernel can access memory after it was freed. The public record does not provide CVSS, confirmed exploitation, or broad business impact details.
Executive priority
Treat this as a targeted kernel stability risk for systems using ixgbe, not as a confirmed internet-scale emergency. Patch through normal kernel maintenance, faster for critical network infrastructure where adapter resets or driver maintenance occur.
Technical view
The ixgbe_remove() path called devlink_free() before later cleanup still used the embedded ixgbe_adapter, causing a use-after-free. The KASAN trace shows ixgbe_reset_interrupt_capability() reached during PCI driver detach/sysfs unbind. The fix moves devlink_free() to the end of removal cleanup.
Likely exposure
Exposure is most likely on Linux systems running affected kernel versions with the ixgbe driver for supported Intel 10GbE adapters. The source bundle lists Linux kernel version evidence around 6.16, 6.17.5, and 6.18, but exact range semantics are incomplete here.
Exploitation context
No active exploitation is reported in the supplied sources, and KEV status is false. The observed trigger path is driver removal or unbinding, which generally implies local administrative or operational control rather than unauthenticated network reachability.
Researcher notes
The evidence supports a UAF in teardown ordering, not a remote packet-processing flaw. Impact beyond KASAN-detected memory misuse is not established in the supplied sources. Range metadata is incomplete, so rely on distro advisories or kernel stable commit inclusion for precise applicability.
Mitigation direction
Apply the Linux stable kernel fixes referenced by the CVE record.
Prioritize hosts using the ixgbe driver on affected kernel builds.
Check your Linux vendor advisory for packaged fixed kernel versions.
Avoid unnecessary ixgbe driver unbind or removal on vulnerable production hosts.
Validation and detection
Inventory systems loading the ixgbe kernel module.
Confirm running kernel versions against vendor fixed-release guidance.
Review kernel logs for KASAN or use-after-free reports in ixgbe removal paths.
Verify the referenced stable commits are present in deployed kernel sources or 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-40091 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
0ADP providers
3Source 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.
Oct 30, 2025, 09:47 UTC (UTC+00:00)
CVE updatedCVE Program
The CVE record metadata indicates this as the latest update time.