CVE-2026-72342: net/mlx5e: Fix HV VHCA stats agent registration race
Noroxi assessment
Priority: Monitor (action score 33/100)
- The sources we track (CISA KEV, Exploit-DB, Metasploit, Nuclei, GitHub) show no public exploit code or exploitation in the wild.
- Probability of exploitation in the next 30 days: 0.19% (FIRST EPSS).
- Someone with local access to the system can trigger it. No account or password is required. No user action is required. No special conditions are required; it is repeatable.
- Fixed version: Linux Linux 24c77044cdfcf5b8b2e9f3b620d8b9aa392d9add, 60fddda7207d81fea71463abd403f0b10f74f2e1, 89b25b5f46f488ea3b29b3444864c76944c9075b.
Low priority for now. Upgrade to Linux Linux 24c77044cdfcf5b8b2e9f3b620d8b9aa392d9add, 60fddda7207d81fea71463abd403f0b10f74f2e1, 89b25b5f46f488ea3b29b3444864c76944c9075b or later.
Generated automatically from the record's data: CVSS (NVD and CNA), CISA KEV and SSVC, FIRST EPSS, exploit sources, fixed versions. How we calculate it
Primary sources: NVD · CVE.org · FIRST EPSS
In the Linux kernel, the following vulnerability has been resolved: net/mlx5e: Fix HV VHCA stats agent registration race mlx5e_hv_vhca_stats_create() registers the stats agent through mlx5_hv_vhca_agent_create(). The helper publishes the agent in hv_vhca->agents[type] under agents_lock and immediately schedules an asynchronous control invalidation on the HV VHCA workqueue before returning to mlx5e. The asynchronous invalidation invokes the control agent's invalidate callback, which reads the hypervisor control block and forwards the command to mlx5e_hv_vhca_stats_control(). That callback may either: - call cancel_delayed_work_sync(&priv->stats_agent.work), or - call queue_delayed_work(priv->wq, &sagent->work, sagent->delay). However, the delayed_work and priv->stats_agent.agent are only initialized after mlx5_hv_vhca_agent_create() returns to mlx5e: agent = mlx5_hv_vhca_agent_create(...); /* publish + invalidate */ ... priv->stats_agent.agent = agent; /* too late */ INIT_DELAYED_WORK(&priv->stats_agent.work, ...); /* too late */ If the asynchronous control path runs before the two assignments above, it can: - Operate on an uninitialized delayed_work whose timer.function is NULL. queue_delayed_work() calls add_timer() unconditionally, so when the timer expires the timer softirq invokes a NULL function pointer. - Re-initialize the timer later through INIT_DELAYED_WORK() while the timer is already enqueued in the timer wheel, corrupting the hlist (entry.pprev cleared while the previous bucket node still points at this entry). - When the worker eventually runs, mlx5e_hv_vhca_stats_work() reads sagent->agent (NULL) and dereferences it inside mlx5_hv_vhca_agent_write(). Fix this by: - Initializing priv->stats_agent.work before invoking mlx5_hv_vhca_agent_create(), so the work is always in a valid state when the control callback observes it. - Adding a struct mlx5_hv_vhca_agent **ctx_update out-parameter to mlx5_hv_vhca_agent_create(). The helper writes the agent pointer to *ctx_update before publishing into hv_vhca->agents[] and triggering the agents_update flow, so any callback subsequently invoked from that flow already sees a valid priv->stats_agent.agent. This avoids having the control callback participate in agent initialization. While at it, access priv->stats_agent.agent with READ_ONCE()/WRITE_ONCE() for the cross-CPU access with the worker, and clear priv->stats_agent.buf on the agent_create() failure path.
- Published
- Aug 15, 2026
- Updated
- Oct 16, 2026
- EPSS
- 0.1% · 9th percentile
- CWE
- —
Report tools
Action score
33
Low priority for now.
- CVSS
- 33 / 40 · 8.4 / 10
- CISA KEV
- 0 / 30 · Not listed
- EPSS
- 0 / 30 · 0.1%
CISA SSVC decision
- Exploitation
- none
- Automatable
- no
- Technical impact
- total
Vulnrichment: CISA's decision-tree inputs.
CNA vs NVD score
- NVD
- —
- CNA · Linux
- 8.4
- NVD has not scored this yet; the score shown is the CNA’s.
The score given by the assigning authority versus NVD’s independent score. A gap means the severity is contested.
Get told when this record changes
- Not in KEV: no record of exploitation in the wild
- No public exploit code on record
- A fix has been released
If any of these changes, we'll tell you in the daily email digest.
Is your version affected? Check itNoroxi analysis
What does it mean in your environment?
The assessment above is generated automatically from the record's data; it doesn't know your environment. Our team verifies on your systems whether this vulnerability is actually exploitable and which mitigation is enough.
We use this product, ask for helpAffected systems
Is your version affected?
Pick the product and type the version you run. It's compared with this record's version ranges in your browser; the version isn't sent anywhere.
—
Versions reported by the vendor
Affected version ranges reported by the assigning authority (Linux). Independent of NVD's CPE analysis and usually ahead of it.
Linux Linux
- 5.4affected
- cef35af34d6dc3792333075115c7deb7062b6e18 and later · before b0fd6d3bb06182f19f3b59a53f57b5098b99048aaffected · git
- cef35af34d6dc3792333075115c7deb7062b6e18 and later · before 24c77044cdfcf5b8b2e9f3b620d8b9aa392d9addaffected · git
- cef35af34d6dc3792333075115c7deb7062b6e18 and later · before e8fc3304cb67fb1d7d11ff9ef9abd5fb64e7e1d5affected · git
- cef35af34d6dc3792333075115c7deb7062b6e18 and later · before 60fddda7207d81fea71463abd403f0b10f74f2e1affected · git
- cef35af34d6dc3792333075115c7deb7062b6e18 and later · before f5677797b094c3ec5fb350eb8ea7710b88a3d018affected · git
- cef35af34d6dc3792333075115c7deb7062b6e18 and later · before 89b25b5f46f488ea3b29b3444864c76944c9075baffected · git
- before 5.4not affected · semver
- 6.1.178 and later · up to and including 6.1.*not affected · semver
- 6.6.145 and later · up to and including 6.6.*not affected · semver
Package-level exposure
OSV and GitHub Advisory data: ecosystem, package and range. SBOM matching uses this table.
| Ecosystem | Package | Affected range | Fix |
|---|---|---|---|
| Debian:12 | linux | before 6.1.180-1 | 6.1.180-1 |
| Debian:13 | linux | before 6.12.100-1 | 6.12.100-1 |
| Debian:14 | linux | before 7.1.5-1 | 7.1.5-1 |
Same product
linux: all recordsOther highest-scoring records for the same primary product.
- CVE-2026-74705udp: fix potential use-after-free in tunnel segmentation40Plan
- CVE-2026-74612veth: fix skb length accounting after XDP frag adjustment40Plan
- CVE-2026-74475vxlan: use neigh_ha_snapshot() in route_shortcircuit()40Plan
Published before and after this one in the same product
- ← EarlierCVE-2026-72339Aug 15, 2026 · qede: fix off-by-one in BD ring consumption on build_skb failure39Monitor
- ← EarlierCVE-2026-72341Aug 15, 2026 · net/mlx5e: Fix publication race for priv->channel_stats[]0Monitor
- Later →CVE-2026-72343Aug 15, 2026 · net/mlx5e: Fix HV VHCA stats zero-sized buffer allocation33Monitor
Remediation
Which version to upgrade to
Fix versions compiled from the vendor, package registries and Microsoft. Verify the vendor's note before upgrading.
| Product / package | Fixed version | Source |
|---|---|---|
| Linux Linux | 24c77044cdfcf5b8b2e9f3b620d8b9aa392d9add | Vendor (CNA) |
| Linux Linux | 60fddda7207d81fea71463abd403f0b10f74f2e1 | Vendor (CNA) |
| Linux Linux | 89b25b5f46f488ea3b29b3444864c76944c9075b | Vendor (CNA) |
| Linux Linux | b0fd6d3bb06182f19f3b59a53f57b5098b99048a | Vendor (CNA) |
| Linux Linux | e8fc3304cb67fb1d7d11ff9ef9abd5fb64e7e1d5 | Vendor (CNA) |
| Linux Linux | f5677797b094c3ec5fb350eb8ea7710b88a3d018 | Vendor (CNA) |
| debian:linux | 6.1.180-1 · Debian:12 | Package registry (OSV) |
Exploit status
No known public exploit
No public exploit has been observed yet. That doesn't mean you're safe, only that the bar is a little higher.
Research context
For pentesters and researchers: attack profile, score disagreement, timeline, patch commits, credits, variant and chain candidates, bug bounty scope. All derived from existing data; no exploit code.
Timeline
From publication to today: proof of concept, Metasploit module, CISA KEV and fix record. Dates are as reported by the sources.
No dated events beyond publication.
FIRST EPSS daily score; only changes of 0.01 or more are recorded (step chart).
Not on record for this CVE: patch commit or PR link · researcher credit · variant or chain candidate · public bounty program.
Technical details
Attack conditions
- Someone with local access to the system can trigger it.
- No account or password is required.
- No user action is required.
- No special conditions are required; it is repeatable.
If successful
- Confidentiality
- high · data can be read
- Integrity
- high · data or configuration can be modified
- Availability
- high · the service can be disrupted
- Attack vector
- Local
- Attack complexity
- Low
- Privileges required
- None
- User interaction
- None
- Scope
- Unchanged
- Confidentiality impact
- High
- Integrity impact
- High
- Availability impact
- High
Weakness class (CWE)
—
CVSS vector
CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
nvd-secondary
Attack context
MITRE CAPEC attack patterns and ATT&CK techniques for this weakness class (CWE). A starting point for detection rules and threat hunting.
MITRE has no CAPEC/ATT&CK mapping for this CWE.
Change log (2)
- SSVC exploitation— → none
- Fix✗ → ✓
For records you follow, these changes also arrive as notifications. →
References
Show all references (5 more)Show less
- git.kernel.org/stable/c/60fddda7207d81fea71463abd403f0b10f74f2e1
- git.kernel.org/stable/c/89b25b5f46f488ea3b29b3444864c76944c9075b
- git.kernel.org/stable/c/b0fd6d3bb06182f19f3b59a53f57b5098b99048a
- git.kernel.org/stable/c/e8fc3304cb67fb1d7d11ff9ef9abd5fb64e7e1d5
- git.kernel.org/stable/c/f5677797b094c3ec5fb350eb8ea7710b88a3d018
Vendor advisories and official records. Exploit/PoC links are deliberately left out.