Skip to main content

Linux Kernel CVE-2026-74269

| EUVDEUVD-2026-59416 CRITICAL
2026-08-15 Linux GHSA-qr85-5764-cw3m
9.8
CVSS 3.1 · Vendor: Linux
Share

Severity by source

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

Attaching native XDP requires CAP_NET_ADMIN (PR:H) and local config, triggering is condition-dependent (AC:H/AV:L); impact is chiefly a crash (A:H) with limited integrity from corruption.

3.1 AV:L/AC:H/PR:H/UI:N/S:U/C:N/I:L/A:H
4.0 AV:L/AC:H/AT:N/PR:H/UI:N/VC:N/VI:L/VA:H/SC:N/SI:N/SA:N
Red Hat
7.0 HIGH
qualitative

Primary rating from Vendor (Linux).

CVSS VectorVendor: Linux

CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
High
Availability
High

Lifecycle Timeline

5
Analysis Generated
Aug 17, 2026 - 10:06 vuln.today
CVSS changed
Aug 17, 2026 - 06:22 NVD
9.8 (CRITICAL)
Patch available
Aug 15, 2026 - 07:20 EUVD
CVE Published
Aug 15, 2026 - 05:57 cve.org
UNKNOWN (no severity yet)
CVE Published
Aug 15, 2026 - 05:57 cve.org
CRITICAL 9.8

DescriptionCVE.org

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

bnxt: fix head underflow on XDP head-grow

The xdp.py test test_xdp_native_adjst_head_grow_data crashes when run on a bnxt machine (and also crashes in NIPA).

It seems that the bug is an underflow in bnxt_rx_multi_page_skb, which builds the skb head:

napi_build_skb(data_ptr - bp->rx_offset, rxr->rx_page_size);

The problem with this expression is that in page mode, rx_offset is:

bp->rx_offset = NET_IP_ALIGN + XDP_PACKET_HEADROOM;

Which evaluates (at least on x86_64) to 258.

The test test_xdp_native_adjst_head_grow_data tests a case where the head is adjusted by -256.

When this test runs, data_ptr is shifted to frag_start + 2 (where frag_start = page_address(page) + offset).

Then, bnxt_rx_multi_page_skb is invoked and the napi_build_skb expression subtracts 258, landing at an address before frag_start. This could be either the previous fragment or the previous physical page when the offset is < 256 (e.g. if the fragment started at offset 0).

When the skb is freed, the page pool fragment reference is dropped on either the wrong page or the wrong frag of the right page. In either case, the corrupted reference count can lead to the page being prematurely recycled while still in use. Once (incorrectly) recycled, it can be handed out again and on driver teardown this would result in a double free.

The commit under fixes updated this code to handle the case where the native page size is >= 64k, but it unintentionally broke the head grow case.

To fix this, add an offset field to struct bnxt_sw_rx_bd, mirroring the existing offset field in struct bnxt_sw_rx_agg_bd. Populate it on allocation and preserve it on reuse.

In bnxt_rx_multi_page_skb, use the newly added offset field to compute the fragment start and pass that to napi_build_skb. Adjust the layout with skb_reserve.

There are two cases, the non-adjustment case and the adjustment case.

In both cases, the skb is built at page_address(page) + offset to account for the case where the native page size >= 64K and skb_reserve is called with data_ptr - (page_address(page) + offset). That difference equals bp->rx_offset when data_ptr was not moved, or bp->rx_offset + xdp_adjust when XDP adjusted the head.

Re-running the failing test with this commit applied causes the test to run successfully to completion.

The other rx_skb_func implementations don't have this issue.

AnalysisAI

Memory corruption in the Linux kernel's bnxt (Broadcom NetXtreme) Ethernet driver arises when an XDP program grows the packet head, causing a head-pointer underflow in bnxt_rx_multi_page_skb that drops a page-pool fragment reference on the wrong page or fragment. This corrupts page-pool refcounts, allowing a page to be recycled while still in use and producing a double free on driver teardown, which realistically manifests as a kernel crash or memory corruption on hosts using Broadcom bnxt NICs with native XDP. …

Unlock full vulnerability intelligence

  • Risk assessment & exploitation conditions
  • Attack chain visualization
  • Remediation with exact patch versions
  • Threat intelligence from 22 sources
  • Personal watchlist & email alerts

Free forever · No credit card required

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata

Recon
Gain CAP_NET_ADMIN on bnxt host
Delivery
Attach native XDP head-grow program
Exploit
Receive RX traffic on interface
Install
Trigger head-pointer underflow in skb build
C2
Corrupt page-pool refcount
Execute
Double free on recycle/teardown
Impact
Kernel crash / DoS

Vulnerability AssessmentAI

Exploitation Requires a Broadcom NetXtreme NIC using the bnxt_en driver in page (page-pool) RX mode, with a native XDP program attached that grows the packet head (the head-grow / xdp_adjust_head-with-negative-offset path, as exercised by test_xdp_native_adjst_head_grow_data). … Additional conditions and limiting factors are described in the full assessment.
Risk Assessment The signals conflict sharply. … Full risk analysis with EPSS, KEV, and SSVC signal comparison available after sign-in.
Exploit Scenario A local user or workload with CAP_NET_ADMIN/CAP_BPF on a host with a Broadcom bnxt NIC attaches a native XDP program that adjusts the packet head to grow by up to 256 bytes; incoming traffic then triggers the head-pointer underflow, corrupting page-pool refcounts and causing a premature page recycle and eventual double free that crashes the kernel. No public exploit is identified, but the crash is reliably reproducible via the kernel's own selftest (xdp.py test_xdp_native_adjst_head_grow_data), so a working trigger effectively exists in the upstream test suite.
Remediation Patch available per vendor advisory: apply the upstream stable fix, available as kernel.org commits bb72b1c6755631c74b7e0878ee55bb81c06776c0 and e26657fe3b85c068b01f42bb0c602f242d643ba9, by updating to the stable kernel release for your series that includes them (consult your distribution's advisory for the exact packaged version, as the EUVD version data here is inconsistent and no single clean fixed release number is independently confirmed). … Detailed patch versions, workarounds, and compensating controls in full report.

Recommended ActionAI

Within 24 hours, inventory all systems using Broadcom bnxt Ethernet NICs and determine which have XDP features enabled to establish the remediation scope. …

Sign in for detailed remediation steps and compensating controls.

Threat intelligence, references, and detailed analysis are available after sign-in.

Vendor StatusVendor

Share

CVE-2026-74269 vulnerability details – vuln.today

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