CVE-2026-72343: net/mlx5e: Fix HV VHCA stats zero-sized buffer allocation
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 22c1d5ecccf92c849bdca1556179aafc95794baf, 25f6b929c7e379cbea7cb8caa67b49b2d1efae17, 3b3a552cf88e10bb7bda88b29cf1fd8267043d50.
Low priority for now. Upgrade to Linux Linux 22c1d5ecccf92c849bdca1556179aafc95794baf, 25f6b929c7e379cbea7cb8caa67b49b2d1efae17, 3b3a552cf88e10bb7bda88b29cf1fd8267043d50 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 zero-sized buffer allocation mlx5e_hv_vhca_stats_create() is called from mlx5e_nic_enable(), before mlx5e_open(). At that point priv->stats_nch is still zero, because it is only ever incremented in mlx5e_channel_stats_alloc(), which is reached only from mlx5e_open_channel(). mlx5e_hv_vhca_stats_buf_size() therefore returns 0, and kvzalloc(0, GFP_KERNEL) returns ZERO_SIZE_PTR ((void *)16) rather than NULL. The "if (!buf)" guard does not catch this, and mlx5e_hv_vhca_stats_create() completes "successfully" with priv->stats_agent.buf set to ZERO_SIZE_PTR. Once channels are opened (priv->stats_nch > 0) and the hypervisor enables stats reporting, mlx5e_hv_vhca_stats_work() recomputes buf_len using the new non-zero stats_nch and calls memset(buf, 0, buf_len) on ZERO_SIZE_PTR, faulting at address 0x10. Allocate the buffer based on priv->max_nch, which is set in mlx5e_priv_init() and is the upper bound on stats_nch: - Add a separate helper mlx5e_hv_vhca_stats_buf_max_size() that returns sizeof(per_ring_stats) * max(max_nch, stats_nch), and use it for the kvzalloc() in mlx5e_hv_vhca_stats_create(). - Keep mlx5e_hv_vhca_stats_buf_size() (which returns based on stats_nch) for the worker's active payload size, so the wire format (block->rings = stats_nch) and the amount of data filled by mlx5e_hv_vhca_fill_stats() are unchanged. The max(max_nch, stats_nch) guard handles the rare case where mlx5e_attach_netdev() recomputes max_nch downward across a detach/resume cycle while priv->stats_nch persists (mlx5e_detach_netdev does not call mlx5e_priv_cleanup, so stats_nch is only reset when the netdev is destroyed). Without the guard, the worker could compute buf_len from stats_nch and overrun the smaller buffer allocated based on the reduced max_nch. Allocating a non-zero buffer also makes the kvzalloc() failure path in mlx5e_hv_vhca_stats_create() reachable for the first time: it returns early without (re)creating the agent. Clear priv->stats_agent.{agent,buf} in mlx5e_hv_vhca_stats_destroy() after freeing them, so that if a later create() bails out on this path, a subsequent teardown does not double-free the stale agent/buffer left from a previous enable/disable cycle. This mirrors the existing mlx5e pattern of preallocating arrays of size max_nch (e.g. priv->channel_stats) and lazily populating entries up to stats_nch on demand.
- Published
- Aug 15, 2026
- Updated
- Oct 16, 2026
- EPSS
- 0.1% · 9th percentile
- CWE
- —
Report tools
Action score
33
Monitor
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.
Running WordPress? Scan your site free with WP Lens
Noroxi 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.17affected
- fa691d0c9c0812b9045f3a9420862e47b3b92518 and later · before 3b3a552cf88e10bb7bda88b29cf1fd8267043d50affected · git
- fa691d0c9c0812b9045f3a9420862e47b3b92518 and later · before 5b927dcec5f1087942bf123a82e64a3f66475f01affected · git
- fa691d0c9c0812b9045f3a9420862e47b3b92518 and later · before 22c1d5ecccf92c849bdca1556179aafc95794bafaffected · git
- fa691d0c9c0812b9045f3a9420862e47b3b92518 and later · before 420aabb32da4381d8d7cdcaa6a77fad9eaceb0a4affected · git
- fa691d0c9c0812b9045f3a9420862e47b3b92518 and later · before abc4c56427f144c96b2827a4db3b90eb5b7349a2affected · git
- fa691d0c9c0812b9045f3a9420862e47b3b92518 and later · before 25f6b929c7e379cbea7cb8caa67b49b2d1efae17affected · git
- before 5.17not 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-72341Aug 15, 2026 · net/mlx5e: Fix publication race for priv->channel_stats[]0Monitor
- ← EarlierCVE-2026-72342Aug 15, 2026 · net/mlx5e: Fix HV VHCA stats agent registration race33Monitor
- Later →CVE-2026-72345Aug 15, 2026 · net/mlx5: LAG, Fix off-by-one in single-FDB error rollback31Monitor
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 | 22c1d5ecccf92c849bdca1556179aafc95794baf | Vendor (CNA) |
| Linux Linux | 25f6b929c7e379cbea7cb8caa67b49b2d1efae17 | Vendor (CNA) |
| Linux Linux | 3b3a552cf88e10bb7bda88b29cf1fd8267043d50 | Vendor (CNA) |
| Linux Linux | 420aabb32da4381d8d7cdcaa6a77fad9eaceb0a4 | Vendor (CNA) |
| Linux Linux | 5b927dcec5f1087942bf123a82e64a3f66475f01 | Vendor (CNA) |
| Linux Linux | abc4c56427f144c96b2827a4db3b90eb5b7349a2 | 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).
Patch and commit links
Commit, PR and diff links among the references. A starting point for patch-diffing and variant hunting; fixes, not exploits.
No commit or PR link among the references.
Credits
All researchersFinders, reporters and analysts named in the CNA record. Click a name for that researcher’s other records.
No credits in the CNA record.
Variant candidates
Same product, same weakness class, within 18 months. If the patch missed the root cause, the sibling bug is here.
No nightly-computed relations.
Chain candidates
An authentication bypass and a privilege-requiring bug in the same product, published close together: combined they may become an unauthenticated path.
—
Bug bounty scope
No known public program.
Source: bounty-targets-data (public HackerOne, Bugcrowd, Intigriti, YesWeHack listings).
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
- 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/25f6b929c7e379cbea7cb8caa67b49b2d1efae17
- git.kernel.org/stable/c/3b3a552cf88e10bb7bda88b29cf1fd8267043d50
- git.kernel.org/stable/c/420aabb32da4381d8d7cdcaa6a77fad9eaceb0a4
- git.kernel.org/stable/c/5b927dcec5f1087942bf123a82e64a3f66475f01
- git.kernel.org/stable/c/abc4c56427f144c96b2827a4db3b90eb5b7349a2
Vendor advisories and official records. Exploit/PoC links are deliberately left out.