Skip to main content

bnxt_en driver CVE-2026-99081

| EUVDEUVD-2026-108747 HIGH
2026-10-23 Linux GHSA-9368-hxmw-4c4j
7.5
CVSS 3.1 · Vendor: Linux
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Send sub-52-byte frames on VLAN/macvlan interface
  2. Exploit
    Padded packet DMA-mapped shorter than descriptor length
  3. Execution
    NIC reads past mapping into unmapped page
  4. Impact
    IOMMU fault aborts TX and hangs queue

Vulnerability Assessment

Exploitation Conditions

Requires a host running the Linux kernel bnxt_en driver with a Broadcom NetXtreme-E NIC (e.g. BCM57412), Intel IOMMU/VT-d enabled so DMA is translated, and traffic on a VLAN or macvlan interface. The driver must transmit packets smaller than BNXT_MIN_PKT_SIZE (52 bytes) that are padded (e.g. 42-byte untagged ARP frames), AND skb->data must land within the pad bytes of a 4KB page boundary so the oversized DMA read crosses into an unmapped page. This boundary alignment is a memory-layout condition, not a reliably attacker-controlled input. The issue was exposed by commit 447cbe95ebb9, which rounded LL_RESERVED_SPACE from 48 up to 64 bytes and shifted skb->data offsets. Limiting factors: specific Broadcom hardware, IOMMU translation enabled, VLAN/macvlan configuration, small-frame traffic, and probabilistic page-boundary alignment all must coincide; outside these conditions the bug does not manifest.

Impact

This is a high-CVSS (7.5, A:H) but low-real-world-urgency issue. The CVSS vector (AV:N/AC:L/PR:N/UI:N) describes an availability-only impact, and all corroborating signals point to limited practical risk: EPSS is 0.21% (10th percentile), there is no CISA KEV listing, and no public exploit is identified. The vuln.today decision label is 'this_week' (not act_now/emergency), consistent with a patch-available denial-of-service fix rather than an actively exploited threat. The signals are coherent rather than conflicting, but note a metric tension: the input CVSS marks AC:L, whereas the described trigger requires skb->data to land within a few bytes of a 4KB page boundary - a memory-layout condition that is not reliably attacker-controlled, which argues for higher attack complexity than AC:L implies. Also note a tag conflict: the input Tags include 'Information Disclosure', but the CVSS confidentiality impact is C:N and the documented effect is an IOMMU DMA-read fault that hangs the TX queue (a DoS), so the severity should be read as availability, not disclosure. Overall this is a real but narrowly-scoped reliability/DoS bug affecting specific Broadcom NIC hardware under Intel IOMMU, best handled as routine patching.

Exploit ScenarioDerived

On a host using the Broadcom bnxt_en driver with a BCM57412 NetXtreme-E NIC and Intel IOMMU (VT-d) enabled, traffic on a VLAN or macvlan interface generates small sub-52-byte frames (such as 42-byte ARP) that the driver pads. Because the DMA mapping length is left at the original unpadded length while the hardware descriptor is programmed with the padded length, the NIC reads past the mapped region; if skb->data sits near a 4KB page boundary the read overruns into an unmapped page, triggering an IOMMU fault that aborts the message and hangs the transmit queue (NETDEV WATCHDOG timeout). No public exploit is identified; triggering is largely incidental to normal small-frame traffic rather than a reliably controllable attack.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.2% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Oct 24, 2026

In the Linux kernel bnxt_en driver, the transmit path DMA-maps only the original unpadded length of small frames while the TX buffer descriptor tells the Broadcom NetXtreme-E NIC to read the padded length, so the hardware can DMA-read past the mapped region and into an unmapped page. Affected systems are kernels with the bnxt_en driver on Broadcom NetXtreme-E hardware (for example BCM57412), Intel IOMMU/VT-d translation enabled, and traffic on VLAN or macvlan interfaces carrying sub-52-byte frames such as 42-byte untagged ARP; the overrun only faults when skb->data sits within the pad bytes of a 4 KB page boundary, a layout condition that is not reliably attacker-controlled. The result is an IOMMU DMA Read fault (DMAR 'PTE Read access is not set'), firmware aborts and TX queue timeouts rather than any confidentiality or integrity impact; the score is high (7.5, availability-only) but real-world urgency is low, EPSS is 0.21% (10th percentile), no CISA KEV entry exists, and no public exploit has been identified at time of analysis. The trigger requires the specific hardware, IOMMU, VLAN/macvlan and small-frame combination to coincide, and the issue was exposed only after commit 447cbe95ebb9 raised LL_RESERVED_SPACE from 48 to 64 bytes.

RemediationAI

Vendor-released patches are available: update to Linux 6.6.160, 6.12.113, 6.18.57, 7.2.11 or 7.3, which contain the skb_put_padto(skb, BNXT_MIN_PKT_SIZE) rework described in the stable commits cf8530a25ae92c4493e2f22981ecb46f0b66f4c8, 2956aca14dd2977cd08bd2ccafae3beb8b84b268, fbd977e513971ccb4f0762a7f59eac500e474f89, 5213f65a9667d3dd85db2e6df8f2e0516290db34 and a51d233ccd4889aadb71dace863525cc2b00271e (patch links at git.kernel.org, record at https://nvd.nist.gov/vuln/detail/CVE-2026-99081). The supplied references document no separate workaround, so the driver fix is the complete remedy; note that the commit only pads the normal transmit path, leaving software USO segments (e.g. IPv4 frames with under 10 bytes of UDP payload) unpadded pending a follow-up patch, so hosts relying on UDP GSO/USO over bnxt_en VLAN interfaces should be tracked against that future fix. Given the prerequisites - Broadcom NetXtreme-E hardware, IOMMU translation, VLAN/macvlan, sub-52-byte frames and page-boundary alignment - patching can be scheduled in the normal weekly maintenance window rather than treated as an emergency.

Affected VersionsENISA

Linux patch: 7.2.11
Linux patch: 6.6.160
Linux c0c050c58d840994ba842ad1c338a98e7c12b764 <5213f65a9667d3dd85db2e6df8f2e0516290db34
Linux patch: 6.12.113
Linux patch: 0
Linux c0c050c58d840994ba842ad1c338a98e7c12b764 <fbd977e513971ccb4f0762a7f59eac500e474f89
Linux patch: 6.18.57
Linux patch: 7.3
Linux 4.4
Linux c0c050c58d840994ba842ad1c338a98e7c12b764 <2956aca14dd2977cd08bd2ccafae3beb8b84b268
Linux c0c050c58d840994ba842ad1c338a98e7c12b764 <cf8530a25ae92c4493e2f22981ecb46f0b66f4c8
Linux c0c050c58d840994ba842ad1c338a98e7c12b764 <a51d233ccd4889aadb71dace863525cc2b00271e

Affected Packages

euvd linux no fix

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

The bnxt_en driver builds TX buffer descriptors for Broadcom NetXtreme-E NICs and uses the DMA API to map skb data for device read. In bnxt_start_xmit(), frames shorter than BNXT_MIN_PKT_SIZE (52 bytes) are padded, but the local 'len' variable had already been set to skb_headlen(skb) (e.g. 42) and was not updated after padding, so dma_map_single() and dma_unmap_len_set() covered only the unpadded length while txbd->tx_bd_len_flags_type encoded (len + pad) - 52 bytes. When skb->data ends within 'pad' bytes of a 4 KB boundary, the NIC's DMA engine reads across the page edge into memory that was never mapped, and with Intel IOMMU/VT-d translation active this surfaces as a DMAR DMA Read fault with an address on an exact 4 KB boundary, followed by firmware status 0x2000001, 'Abandoning msg' messages and NETDEV WATCHDOG transmit-queue timeouts. The bug became reachable in practice after commit 447cbe95ebb9 ('vlan: fix skb_under_panic and races when toggling HW VLAN offload'), which rounded LL_RESERVED_SPACE from 48 to 64 bytes and shifted skb->data offsets so small frames can land flush against page boundaries. The upstream fix replaces the manual skb_pad()/length bookkeeping with skb_put_padto(skb, BNXT_MIN_PKT_SIZE) placed before skb_shinfo(skb)->nr_frags is sampled, because padding can linearize the skb; the padding is also moved after the SW USO branch so bnxt_sw_udp_gso_xmit() does not count padding as UDP payload. No CWE identifier was supplied with this record. Software USO segments remain unpadded (e.g. IPv4 segments with under 10 bytes of UDP payload), which the commit message explicitly defers to a follow-up patch.

Know when Broadcom gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (Linux) PRIMARY 7.5 HIGH
AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
vuln.today AI 5.9 MEDIUM

Triggering depends on skb->data landing within pad bytes of a page boundary - not reliably attacker-controlled - so AC:H; impact is a TX-queue DoS only, hence C:N/I:N/A:H.

3.1 AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H
4.0 AV:N/AC:H/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N

Primary rating from Vendor (Linux).

CVSS VectorVendor: Linux

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
None
Integrity
None
Availability
High

Lifecycle Timeline

4
CVSS changed
Oct 24, 2026 - 14:22 NVD
7.5 (HIGH)
Patch available
Oct 23, 2026 - 13:17 EUVD
CVE Published
Oct 23, 2026 - 12:23 cve.org
UNKNOWN (no severity yet)
CVE Published
Oct 23, 2026 - 12:23 cve.org
HIGH 7.5

DescriptionCVE.org

In the Linux kernel, the following vulnerability has been resolved:

bnxt_en: fix DMA mapping length for padded small packets

Stefan Fleischmann reported Intel IOMMU DMA Read faults on BCM57412 NetXtreme-E NICs when transmitting packets on VLAN/macvlan interfaces:

DMAR: [DMA Read NO_PASID] Request device [18:00.0] fault addr 0xfc499000 [fault reason 0x06] PTE Read access is not set bnxt_en 0000:18:00.0 eno1np0: Abandoning msg {0xb4 0x41a} len: 0 due to firmware status: 0x2000001 ... NETDEV WATCHDOG: eno1np0 (bnxt_en): transmit queue 0 timed out

The fault address (0xfc499000) is on an exact 4KB page boundary, pointing to a DMA read buffer overrun.

In bnxt_start_xmit(), packets smaller than BNXT_MIN_PKT_SIZE (52 bytes), such as 42-byte untagged ARP frames, are padded:

if (length < BNXT_MIN_PKT_SIZE) { pad = BNXT_MIN_PKT_SIZE - length; if (skb_pad(skb, pad)) goto tx_kick_pending; length = BNXT_MIN_PKT_SIZE; }

mapping = dma_map_single(&pdev->dev, skb->data, len, DMA_TO_DEVICE); ... dma_unmap_len_set(tx_buf, len, len);

However, 'len' was initialized earlier to skb_headlen(skb) (e.g. 42 bytes) and is left unadjusted after padding. Consequently, dma_map_single() and dma_unmap_len_set() map and track only 42 bytes.

Later, the hardware TX buffer descriptor is programmed with the padded length:

txbd->tx_bd_len_flags_type = cpu_to_le32(((len + pad) << TX_BD_LEN_SHIFT) | flags | TX_BD_FLAGS_PACKET_END);

The NIC DMA engine is thus instructed to read 52 bytes from a region where only 42 bytes were DMA-mapped. If skb->data ends near the boundary of a 4KB page (within 'pad' bytes of the next page), the hardware DMA read overruns into the unmapped adjacent page, triggering an IOMMU fault.

This issue was exposed after commit 447cbe95ebb9 ("vlan: fix skb_under_panic and races when toggling HW VLAN offload") because reserving extra VLAN headroom rounded LL_RESERVED_SPACE from 48 up to 64 bytes, shifting skb->data offsets and potentially causing small frames to land right against page boundaries.

Fix this by using skb_put_padto(skb, BNXT_MIN_PKT_SIZE) in bnxt_start_xmit(), before skb_shinfo(skb)->nr_frags is sampled, because padding might linearize the skb. This ensures skb->len and skb_headlen(skb) reflect the padded size so that dma_map_single() maps the full buffer and the descriptor length is consistent. This also removes the temporary 'pad' variable and masking logic.

The padding is done after the SW USO branch, otherwise bnxt_sw_udp_gso_xmit() would account the padding as UDP payload and send it in extra segments.

Note that SW USO segments are still not padded: with IPv4, a segment carrying less than 10 bytes of UDP payload (small gso_size, or a short last segment) is sent as a frame shorter than BNXT_MIN_PKT_SIZE. This is a separate issue, left for a followup patch.

Executive ViewAI

Why It Matters

A flaw in the Linux kernel's bnxt_en driver can cause transmit path DMA read faults on Broadcom NetXtreme-E network adapters, leading to TX queue timeouts and firmware aborts that disrupt network availability. Organizations running this hardware on affected kernels face potential service outages, but the condition is not reliably attacker-controlled and no exploitation has been observed.

Business Impact: Medium
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.2%
Top 90% exploitable
Prevalence
Medium
Broadcom NetXtreme-E NIC driver path; common server hardware, not universal
Data Quality
4 sources
Confidence: Medium

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 0.2%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation· derived
None
System Exposure· derived
Open
Automatable· derived
Yes
Human Impact
Medium

Priority Score

38
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +38
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.

CVE-2021-40438 CRITICAL POC
9.0 Sep 16

A crafted request uri-path can cause mod_proxy to forward the request to an origin server choosen by the remote user.4.4

CVE-2018-1273 CRITICAL POC
9.8 Apr 11

Spring Data Commons, versions prior to 1.13 to 1.13.10, 2.0 to 2.0.5, and older unsupported versions, contain a property

CVE-2014-0160 HIGH POC
7.5 Apr 07

The (1) TLS and (2) DTLS implementations in OpenSSL 1.0.1 before 1.0.1g do not properly handle Heartbeat Extension packe

CVE-2022-2068 HIGH
7.3 Jun 21

In addition to the c_rehash shell command injection identified in CVE-2022-1292, further circumstances where the c_rehas

CVE-2016-8204 CRITICAL
9.8 Jan 14

A Directory Traversal vulnerability in FileReceiveServlet in the Brocade Network Advisor versions released prior to and

CVE-2016-0801 CRITICAL POC
9.8 Feb 07

The Broadcom Wi-Fi driver in the kernel in Android 4.x before 4.4.4, 5.x before 5.1.1 LMY49G, and 6.x before 2016-02-01

CVE-2020-1967 HIGH POC
7.5 Apr 21

Server or client applications that call the SSL_check_chain() function during or after a TLS 1.3 handshake may crash due

CVE-2017-0561 CRITICAL POC
9.8 Apr 07

A remote code execution vulnerability in the Broadcom Wi-Fi firmware could enable a remote attacker to execute arbitrary

CVE-2017-9417 CRITICAL POC
9.8 Jun 04

Broadcom BCM43xx Wi-Fi chips allow remote attackers to execute arbitrary code via unspecified vectors, aka the "Broadpwn

CVE-2026-22719 HIGH
8.1 Feb 25

VMware Aria Operations contains a command injection vulnerability (CVE-2026-22719, CVSS 8.1) that allows unauthenticated

CVE-2017-11120 CRITICAL POC
9.8 Sep 28

On Broadcom BCM4355C0 Wi-Fi chips 9.44.78.27.0.1.56 and other chips, an attacker can craft a malformed RRM neighbor repo

CVE-2012-2619 HIGH POC
7.8 Nov 14

The Broadcom BCM4325 and BCM4329 Wi-Fi chips, as used in certain Acer, Apple, Asus, Ford, HTC, Kyocera, LG, Malata, Moto

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy