CVE-2025-21751: net/mlx5: HWS, change error flow on matcher disconnect
In the Linux kernel, the following vulnerability has been resolved:
net/mlx5: HWS, change error flow on matcher disconnect
Currently, when firmware failure occurs during matcher disconnect flow,
the error flow of the function reconnects the matcher back and returns
an error, which continues running the calling function and eventually
frees the matcher that is being disconnected.
This leads to a case where we have a freed matcher on the matchers list,
which in turn leads to use-after-free and eventual crash.
This patch fixes that by not trying to reconnect the matcher back when
some FW command fails during disconnect.
Note that we're dealing here with FW error. We can't overcome this
problem. This might lead to bad steering state (e.g. wrong connection
between matchers), and will also lead to resource leakage, as it is
the case with any other error handling during resource destruction.
However, the goal here is to allow the driver to continue and not crash
the machine with use-after-free error.
Security readout for executives and security teams
Plain-English summary
A Linux mlx5 driver error-handling flaw can leave a freed traffic-steering matcher referenced after a firmware failure. Subsequent access may corrupt memory and crash the machine. The supplied CVSS rates local, low-privileged impact as high, but the evidence does not establish that an attacker can reliably trigger the required firmware failure.
Executive priority
Treat as a high-priority stability and kernel-memory risk on relevant mlx5 systems, especially critical network infrastructure. Scope exposure first because the trigger is specialized and exploitation is unconfirmed. Patch through supported kernel channels during an expedited maintenance window; immediate emergency action is not supported solely by the supplied evidence.
Technical view
During HWS matcher disconnection, a failed firmware command previously caused the matcher to be reconnected before the caller freed it. The matchers list could therefore retain a dangling pointer, producing a CWE-416 use-after-free and eventual crash. The kernel fix avoids reconnecting after the failure, accepting possible steering inconsistency and resource leakage to prevent memory misuse.
Likely exposure
Exposure is limited to systems using affected Linux kernel code and the mlx5 HWS matcher-disconnect path. The bundle identifies versions including 6.12, 6.12.48, 6.13.3, and 6.14, but its version data is ambiguous. Distribution backports and actual mlx5 usage must be checked before declaring a host vulnerable.
Exploitation context
The CVSS vector describes local access, low privileges, low complexity, and no user interaction, with potential confidentiality, integrity, and availability impact. However, the documented failure depends on a firmware-command error during matcher disconnection. The bundle reports no KEV listing and provides no evidence of active exploitation or a publicly reliable attack path.
Researcher notes
The direct flaw is a dangling matcher-list entry after rollback and subsequent free. The fix intentionally favors continued operation over restoring matcher connectivity when firmware teardown fails, so residual steering-state errors and resource leakage remain possible. The supplied affected-version encoding contains duplicate commits and an unexplained “0”; verify precise branch ancestry and vendor backports.
Mitigation direction
Apply a vendor-supported kernel update containing the applicable supplied stable-kernel fix.
Check distribution security guidance because patched package versions may differ through backports.
Prioritize affected hosts using mlx5 HWS functionality or showing related firmware and driver failures.
If updating is delayed, consult the system or kernel vendor for supported risk-reduction guidance.
Validation and detection
Record the running kernel and distribution package versions on systems using the mlx5 driver.
Confirm whether the vendor kernel includes one of the supplied stable fix commits or an equivalent backport.
Determine whether mlx5 HWS traffic-steering matcher operations are used on each candidate host.
Review kernel logs for mlx5 firmware-command failures, use-after-free reports, or related crashes.
After updating, verify the fixed kernel is running and monitor for recurring steering or firmware errors.
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.
cwe · low confidence lookup
CWE-416: Exact CWE lookup
Use the exact CWE identifier as the starting point before reviewing related ATT&CK behavior. Open the exact CWE lookup page first, then review the ATT&CK searches from that MITRE weakness context. This is a Glexia lookup hint, not an official ATT&CK mapping.
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.
2CVSS vectors
3Timeline events
1ADP providers
4Source links
SSVC decision data
CISA-ADPCISA Coordinator
Timestamp
Version
2.0.3
Exploitation: noneAutomatable: noTechnical Impact: total
CVSS vector scores
2 official scores
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.
CWE links open Glexia weakness intelligence pages with official CWE context, developer remediation guidance, and related CVE mappings.
CWE-416 · source CWE mapping
Use After Free
Use After Free represents a recurring weakness pattern that can create exploitable paths when design, validation, or implementation controls are missing.