Skip to main content

Linux Kernel CVE-2025-68770

HIGH
2026-01-13 416baaa9-dc9f-4396-8d5f-8c081fb06d67
7.5
CVSS 3.1 · Vendor: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
Share

Severity by source

Vendor (416baaa9-dc9f-4396-8d5f-8c081fb06d67) 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

Network-triggerable but requires opt-in XDP_TX config plus a transient TX-ring-full race (AC:H); no auth needed (PR:N); pure availability loss (A:H, C/I:N).

3.1 AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H
4.0 AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N
SUSE
5.9 MEDIUM
AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H
Red Hat
6.1 MEDIUM
qualitative

Primary rating from Vendor (416baaa9-dc9f-4396-8d5f-8c081fb06d67).

CVSS VectorVendor: 416baaa9-dc9f-4396-8d5f-8c081fb06d67

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

Lifecycle Timeline

6
Analysis Updated
Jul 30, 2026 - 07:32 vuln.today
v3 (cvss_changed)
Analysis Updated
Jul 30, 2026 - 07:31 vuln.today
v2 (cvss_changed)
Re-analysis Queued
Jul 30, 2026 - 06:37 vuln.today
cvss_changed
CVSS changed
Jul 30, 2026 - 06:37 NVD
7.5 (HIGH)
Analysis Generated
Mar 12, 2026 - 21:54 vuln.today
CVE Published
Jan 13, 2026 - 16:15 nvd
N/A

DescriptionCVE.org

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

bnxt_en: Fix XDP_TX path

For XDP_TX action in bnxt_rx_xdp(), clearing of the event flags is not correct. __bnxt_poll_work() -> bnxt_rx_pkt() -> bnxt_rx_xdp() may be looping within NAPI and some event flags may be set in earlier iterations. In particular, if BNXT_TX_EVENT is set earlier indicating some XDP_TX packets are ready and pending, it will be cleared if it is XDP_TX action again. Normally, we will set BNXT_TX_EVENT again when we successfully call __bnxt_xmit_xdp(). But if the TX ring has no more room, the flag will not be set. This will cause the TX producer to be ahead but the driver will not hit the TX doorbell.

For multi-buf XDP_TX, there is no need to clear the event flags and set BNXT_AGG_EVENT. The BNXT_AGG_EVENT flag should have been set earlier in bnxt_rx_pkt().

The visible symptom of this is that the RX ring associated with the TX XDP ring will eventually become empty and all packets will be dropped. Because this condition will cause the driver to not refill the RX ring seeing that the TX ring has forever pending XDP_TX packets.

The fix is to only clear BNXT_RX_EVENT when we have successfully called __bnxt_xmit_xdp().

AnalysisAI

Denial of service in the Linux kernel's bnxt_en driver (Broadcom NetXtreme-E) affects systems running an XDP program that uses the XDP_TX action. Incorrect clearing of NAPI event flags in the XDP_TX path causes the TX doorbell to be skipped when the TX ring is full, stalling the associated RX ring so it is never refilled and all subsequent packets are silently dropped. There is no public exploit identified at time of analysis, and EPSS exploitation probability is very low (0.02%, 6th percentile); an upstream fix is available in mainline and stable kernels.

Technical ContextAI

The issue lives in bnxt_en, the in-tree driver for Broadcom NetXtreme-E/C series Ethernet controllers, specifically in the eXpress Data Path (XDP) fast-path processing. XDP allows eBPF programs to process packets in the driver's NAPI poll loop before the networking stack; the XDP_TX action reflects a received packet back out the same interface. The driver tracks pending work with event flags (BNXT_RX_EVENT, BNXT_TX_EVENT, BNXT_AGG_EVENT) across the __bnxt_poll_work() -> bnxt_rx_pkt() -> bnxt_rx_xdp() loop that can run many iterations per NAPI cycle. The bug is a state-management error: bnxt_rx_xdp() unconditionally cleared BNXT_TX_EVENT on an XDP_TX action, so a previously-set 'TX packets pending' signal was lost whenever a later packet also took XDP_TX but could not be enqueued because the TX ring was full. No CWE was assigned by NVD, but the root cause is best characterized as improper state/flag management leading to a missing doorbell write and a permanently wedged ring - an availability defect rather than a memory-safety issue.

Affected ProductsAI

The Linux kernel bnxt_en driver for Broadcom NetXtreme-E/C series network controllers is affected. NVD did not publish enumerated CPE version ranges in the provided data; the three git.kernel.org stable commits (0373d5c387f2, 4b83902a1e67, f17e0c120848) identify the fix landing in mainline and being backported to stable branches, so affected versions are those stable/mainline kernels containing the XDP_TX flag-clearing logic prior to these commits. Distribution exposure is confirmed for Ubuntu via USN-8177-1 (https://ubuntu.com/security/notices/USN-8177-1). A third-party advisory is tracked at VulDB (https://vuldb.com/?id.340608). Only hosts using the bnxt_en driver with an XDP program employing XDP_TX are functionally exposed.

RemediationAI

Upstream fix available (commits 0373d5c387f2, 4b83902a1e67, f17e0c120848 on git.kernel.org); a released patched version is distribution-dependent rather than a single upstream tag, so update to a kernel that includes these commits. Ubuntu users should apply the fixed kernel packages per USN-8177-1 (https://ubuntu.com/security/notices/USN-8177-1) and reboot; other distributions should track their vendor's backport of these three commits. If immediate patching is not possible on an affected host, the most effective compensating control is to stop using the XDP_TX action on bnxt_en interfaces - either unload the XDP program or switch its logic to XDP_PASS/XDP_REDIRECT paths, which avoids the buggy code entirely at the cost of losing the XDP_TX reflect fast path. As a recovery workaround for an already-wedged ring, bouncing the interface (ip link set down/up) or reloading the driver clears the stuck TX producer state, but only temporarily until the condition recurs. Cite advisory URLs above when scheduling maintenance.

Vendor StatusVendor

SUSE

Severity: Moderate
Product Status
Container suse/sl-micro/6.0/baremetal-os-container:latest Container suse/sl-micro/6.0/toolbox:latest Affected
Container suse/sl-micro/6.0/base-os-container:2.1.3-7.95 Image SL-Micro Image SLE-Micro Image SLE-Micro-Azure Image SLE-Micro-BYOS Image SLE-Micro-BYOS-Azure Image SLE-Micro-BYOS-EC2 Image SLE-Micro-BYOS-GCE Image SLE-Micro-EC2 Image SLE-Micro-GCE Affected
Container suse/sl-micro/6.0/kvm-os-container:2.1.3-6.115 Affected
Container suse/sl-micro/6.0/rt-os-container:2.1.3-7.146 Affected
Container suse/sl-micro/6.1/base-os-container:2.2.1-5.80 Image SL-Micro-Azure Image SL-Micro-BYOS-Azure Image SL-Micro-BYOS-EC2 Image SL-Micro-BYOS-GCE Image SL-Micro-EC2 Image SUSE-Multi-Linux-Manager-Proxy-BYOS-Azure Image SUSE-Multi-Linux-Manager-Proxy-BYOS-EC2 Image SUSE-Multi-Linux-Manager-Proxy-BYOS-GCE Image SUSE-Multi-Linux-Manager-Server-Azure-llc Image SUSE-Multi-Linux-Manager-Server-Azure-ltd Image SUSE-Multi-Linux-Manager-Server-BYOS-Azure Image SUSE-Multi-Linux-Manager-Server-BYOS-EC2 Image SUSE-Multi-Linux-Manager-Server-BYOS-GCE Image SUSE-Multi-Linux-Manager-Server-EC2-llc Image SUSE-Multi-Linux-Manager-Server-EC2-ltd Affected

Share

CVE-2025-68770 vulnerability details – vuln.today

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