CVE-2026-74269

CRITICALPre-NVD 9.89.8
EchelonGraph scoreHIGH confidence

Score 9.8 from GitHub Security Advisory (severity: CRITICAL) published 2026-08-15. a secondary CVSS source baseline 9.8; sources differ by 0.0.

Triggered by: GitHub Security Advisory CVSS
Sources: epss, ghsa, secondary
Trending — 5 sources updated this week
9.8EG
EchelonGraph verdictPlan a fixSerious severity, but no confirmed exploitation yet.
  • High severity, but no confirmed exploitation yet
CISA-KEV: Not listedEPSS PROB: 0%CVSS: 9.8Exploit: None knownExposed: 0

No vendor fix yet — apply a workaround or compensating control (WAF / firewall / segmentation) and watch for a patch.

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.

CVSS v3
9.8
EG Score
9.8(high)
EG Risk
49(Track)
EG Risk 49/100SSVC: Track

EG Risk is EchelonGraph's 0–100 priority score: it fuses intrinsic severity with real-world exploitation and automatability so you can rank equal-severity CVEs and fix the most dangerous first. Higher = act sooner. Distinct from the 0–10 EG Score (severity).

How it’s computed
Severity98% × 45%
Exploitation0% × 40%
Automatability30% × 15%
Action: Routine — remediate on your standard cadence.
EPSS PROB
0%
EPSS %ILE
31%
KEV
Not listed

Published

August 15, 2026

Last Modified

August 17, 2026

Advisory Details (2)

Auto-updated Aug 17, 2026
No patch confirmed yet.
generic

bnxt: fix head underflow on XDP head-grow - kernel/git/stable/linux.git - Linux kernel stable tree

https://git.kernel.org/stable/c/e26657fe3b85c068b01f42bb0c602f242d643ba9
generic

bnxt: fix head underflow on XDP head-grow - kernel/git/stable/linux.git - Linux kernel stable tree

https://git.kernel.org/stable/c/bb72b1c6755631c74b7e0878ee55bb81c06776c0

Vendor Advisories for CVE-2026-74269(1)

These vendors published their own advisory mentioning this CVE — often with vendor-specific remediation steps + affected product lists not in NVD.

Data Freshness Timeline

(refreshed 39× in last 7d / 39× in last 30d)

Each row is a source pipeline that fetched or updated this CVE on that date, with what changed. For example, "NVD update" means NVD published or revised its analysis for this CVE; "MITRE cvelistV5" means we ingested or refreshed it from the CNA feed. Most recent first.

  1. 2026-08-20 09:39 UTCGHSA enrichment
  2. 2026-08-20 05:16 UTCGHSA enrichment
  3. 2026-08-20 00:51 UTCGHSA enrichment
  4. 2026-08-19 20:24 UTCEG score recompute
  5. 2026-08-19 20:24 UTCGHSA enrichment
  6. 2026-08-19 17:04 UTCEPSS rescore
  7. 2026-08-19 15:56 UTCGHSA enrichment
  8. 2026-08-19 11:31 UTCGHSA enrichment
  9. 2026-08-19 07:06 UTCGHSA enrichment
  10. 2026-08-19 02:42 UTCGHSA enrichment
  11. 2026-08-18 22:14 UTCGHSA enrichment
  12. 2026-08-18 17:49 UTCEG score recompute
  13. 2026-08-18 17:49 UTCGHSA enrichment
  14. 2026-08-18 13:49 UTCEPSS rescore
  15. 2026-08-18 13:49 UTCEPSS rescore
  16. 2026-08-18 13:08 UTCGHSA enrichment
  17. 2026-08-18 08:44 UTCGHSA enrichment
  18. 2026-08-18 04:21 UTCGHSA enrichment
  19. 2026-08-17 23:58 UTCGHSA enrichment
  20. 2026-08-17 19:34 UTCGHSA enrichment
  21. 2026-08-17 15:10 UTCEG score recompute
  22. 2026-08-17 15:10 UTCGHSA enrichment
  23. 2026-08-17 13:47 UTCEPSS rescore
  24. 2026-08-17 10:46 UTCEG score recompute
  25. 2026-08-17 10:46 UTCGHSA enrichment
Show 14 more
  1. 2026-08-17 06:23 UTCEG score recompute
  2. 2026-08-17 06:23 UTCGHSA enrichment
  3. 2026-08-17 05:56 UTCEG score recompute 9.80
  4. 2026-08-17 05:56 UTCGHSA enrichment
  5. 2026-08-17 05:54 UTCMITRE cvelistV5CVSS v3 → 9.8 · severity → CRITICAL
  6. 2026-08-17 05:27 UTCEG score recompute
  7. 2026-08-17 05:27 UTCGHSA enrichment
  8. 2026-08-17 05:25 UTCMITRE cvelistV5
  9. 2026-08-16 14:56 UTCEPSS rescore
  10. 2026-08-16 14:56 UTCEPSS rescore
  11. 2026-08-16 02:15 UTCEPSS rescore
  12. 2026-08-15 06:23 UTCNVD update
  13. 2026-08-15 06:17 UTCEG score recompute
  14. 2026-08-15 06:12 UTCMITRE cvelistV5first tracked

Frequently asked(5)

What is CVE-2026-74269?
CVE-2026-74269 is a critical vulnerability published on August 15, 2026. In the Linux kernel, the following vulnerability has been resolved: bnxt: fix head underflow on XDP head-grow The xdp.py test testxdpnativeadjstheadgrowdata crashes when run on a bnxt machine (and also crashes in NIPA). It seems that the bug is an underflow in bnxtrxmultipageskb, which builds the…
When was CVE-2026-74269 disclosed?
CVE-2026-74269 was first published in the National Vulnerability Database on August 15, 2026, with the most recent update on August 17, 2026. EchelonGraph re-ingests CVE updates from NVD on a 2-hour cycle, so this page reflects the latest published state.
Is CVE-2026-74269 actively exploited?
CVE-2026-74269 is not currently on CISA's Known Exploited Vulnerabilities catalog. FIRST EPSS estimates a 0% probability of exploitation in the next 30 days, which ranks it in the top 68.8% of all scored CVEs.
What is the CVSS score of CVE-2026-74269?
CVE-2026-74269 has a CVSS v3 base score of 9.8 (NVD).
How do I remediate CVE-2026-74269?
Patch to the fixed version published by the affected vendor. Where vendor advisories exist for CVE-2026-74269, EchelonGraph cross-links them in the Vendor Advisories panel below — those typically contain the canonical remediation steps, fixed version numbers, and any vendor-specific mitigations.

Dependency Blast Radius

Explore the affected products and dependency analysis for CVE-2026-74269

Explore →

Is Your Infrastructure Affected by CVE-2026-74269?

EchelonGraph automatically scans your cloud infrastructure and maps CVE exposure using blast radius analysis.