CVE-2025-39979: net/mlx5: fs, fix UAF in flow counter release
In the Linux kernel, the following vulnerability has been resolved:
net/mlx5: fs, fix UAF in flow counter release
Fix a kernel trace [1] caused by releasing an HWS action of a local flow
counter in mlx5_cmd_hws_delete_fte(), where the HWS action refcount and
mutex were not initialized and the counter struct could already be freed
when deleting the rule.
Fix it by adding the missing initializations and adding refcount for the
local flow counter struct.
[1] Kernel log:
Call Trace:
<TASK>
dump_stack_lvl+0x34/0x48
mlx5_fs_put_hws_action.part.0.cold+0x21/0x94 [mlx5_core]
mlx5_fc_put_hws_action+0x96/0xad [mlx5_core]
mlx5_fs_destroy_fs_actions+0x8b/0x152 [mlx5_core]
mlx5_cmd_hws_delete_fte+0x5a/0xa0 [mlx5_core]
del_hw_fte+0x1ce/0x260 [mlx5_core]
mlx5_del_flow_rules+0x12d/0x240 [mlx5_core]
? ttwu_queue_wakelist+0xf4/0x110
mlx5_ib_destroy_flow+0x103/0x1b0 [mlx5_ib]
uverbs_free_flow+0x20/0x50 [ib_uverbs]
destroy_hw_idr_uobject+0x1b/0x50 [ib_uverbs]
uverbs_destroy_uobject+0x34/0x1a0 [ib_uverbs]
uobj_destroy+0x3c/0x80 [ib_uverbs]
ib_uverbs_run_method+0x23e/0x360 [ib_uverbs]
? uverbs_finalize_object+0x60/0x60 [ib_uverbs]
ib_uverbs_cmd_verbs+0x14f/0x2c0 [ib_uverbs]
? do_tty_write+0x1a9/0x270
? file_tty_write.constprop.0+0x98/0xc0
? new_sync_write+0xfc/0x190
ib_uverbs_ioctl+0xd7/0x160 [ib_uverbs]
__x64_sys_ioctl+0x87/0xc0
do_syscall_64+0x59/0x90
Security readout for executives and security teams
Plain-English summary
A flaw in the Linux mlx5 networking driver can access a flow-counter object after it has been freed while deleting a hardware flow rule. This can crash or corrupt the kernel and could potentially compromise confidentiality, integrity, and availability. The supplied CVSS assessment requires local, low-privileged access; remotely reachable exploitation is not established.
Executive priority
Treat as a high-priority kernel update for exposed mlx5 or RDMA systems, especially shared or multi-user infrastructure. The local-access requirement reduces urgency for isolated appliances, but kernel memory corruption carries severe potential impact. Inventory first, then apply vendor-supported fixes through normal kernel maintenance and reboot procedures.
Technical view
The mlx5 flow-steering teardown path released an HWS action whose reference count and mutex were uninitialized. During mlx5_cmd_hws_delete_fte(), the associated local flow-counter structure could already be freed, causing a use-after-free. The cited Linux fixes initialize the synchronization state and add reference counting for the local counter structure.
Likely exposure
Exposure is limited to Linux systems running an affected kernel with the mlx5 driver and relevant hardware flow-steering functionality in use. The bundle identifies Linux 6.14 and entries including 6.16.10 and 6.17 as affected, but does not clearly define the complete vulnerable version range. Confirm status against the distribution or kernel vendor.
Exploitation context
The CVSS vector rates exploitation as local, low complexity, requiring low privileges and no user interaction. The source documents a kernel trace during flow destruction, not a demonstrated security exploit. CVE-2025-39979 is not listed as KEV in the supplied bundle, and no cited source establishes active exploitation.
Researcher notes
The supplied evidence establishes a lifetime-management defect in mlx5 flow-counter teardown and provides two stable-kernel fix commits. It does not establish exploitability beyond the CVSS assessment, active attacks, or the complete affected-version boundaries. Validation should focus on driver use, flow-steering exposure, backport presence, and crash telemetry without treating the recorded trace as proof of exploitation.
Mitigation direction
Update to a vendor-supported kernel containing one of the cited upstream stable fixes.
Check distribution advisories to map the ambiguous upstream version information to installed packages.
Prioritize mlx5 hosts offering local or shared RDMA access to less-trusted users.
Restrict unnecessary local access to mlx5 flow-management interfaces until remediation is complete.
Validation and detection
Record the running kernel version and distribution package release on each mlx5-enabled host.
Confirm whether mlx5_core and mlx5_ib are loaded and relevant hardware flow steering is used.
Verify the installed kernel includes either cited fix or the distribution's backport.
Review kernel logs for mlx5 flow-destruction warnings, traces, crashes, or use-after-free reports.
Recheck exposure after rebooting into the remediated kernel.
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-39979 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.
1CVSS vectors
3Timeline events
0ADP providers
3Source links
CVSS vector scores
1 official score
We collect every scored CVSS vector available in the official CNA and ADP containers. When more than one version is present, the table keeps the source vectors side by side instead of collapsing them into the highest score.