Skip to main content

Linux Kernel EUVDEUVD-2026-55517

| CVE-2026-68136 CRITICAL
2026-08-10 Linux GHSA-p4gp-483j-wr28
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
5.9 MEDIUM

Remotely reachable and unauthenticated (AV:N/PR:N) but needs an LRO frag_list plus flush-marked re-aggregation on a forwarding host (AC:H); impact is a crash only, so 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:P/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N
SUSE
8.8 HIGH
AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Red Hat
7.0 HIGH
qualitative

Primary rating from Vendor (Linux).

CVSS VectorVendor: Linux

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 14, 2026 - 02:27 vuln.today
CVSS changed
Aug 13, 2026 - 23:37 NVD
9.8 (CRITICAL)
Patch available
Aug 10, 2026 - 14:18 EUVD
CVE Published
Aug 10, 2026 - 11:58 cve.org
UNKNOWN (no severity yet)
CVE Published
Aug 10, 2026 - 11:58 cve.org
CRITICAL 9.8

DescriptionCVE.org

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

net: gro: fix double aggregation of flush-marked skbs

Commit 0ab03f353d36 ("net-gro: Fix GRO flush when receiving a GSO packet.") added a flush check to skb_gro_receive(), but skb_gro_receive_list() lacks the same validation.

As a result, packets marked with NAPI_GRO_CB(skb)->flush may still be re-aggregated.

This allows already-GRO'd packets with existing frag_list to be re-aggregated into a new GRO session, corrupting the frag_list chain structure. When skb_segment() attempts to unpack these malformed packets, it encounters invalid state and triggers a kernel panic.

Scenario (Tethering/Device forwarding):

  1. Driver: Generated aggregated packet P1 via LRO with frag_list
  2. Dev A: Receives aggregated fraglist packet and flush flag set
  3. Dev A: Re-enters GRO, skb_gro_receive_list() is called
  4. Missing flush check allows re-aggregation despite flush flag
  5. Frag_list chain becomes corrupted (loops or dangling refs)
  6. Dev B: TX path calls skb_segment(), crashes on corrupted frag_list

Root cause in skb_segment(): The check at line ~4891: if (hsize <= 0 && i >= nfrags && skb_headlen(list_skb) && (skb_headlen(list_skb) == len || sg)) {

When frag_list is corrupted by double aggregation, when list_skb is a NULL pointer from skb->next, skb_headlen(list_skb) dereference NULL/corrupted pointers occurs.

Call Trace: skb_headlen(NULL skb) skb_segment tcp_gso_segment tcp4_gso_segment inet_gso_segment skb_mac_gso_segment __skb_gso_segment skb_gso_segment validate_xmit_skb validate_xmit_skb_list sch_direct_xmit qdisc_restart __qdisc_run qdisc_run net_tx_action

Fix: Add NAPI_GRO_CB(skb)->flush validation to the early-return check in skb_gro_receive_list(), matching the defensive programming pattern of skb_gro_receive().

AnalysisAI

Kernel panic (denial of service) in the Linux kernel networking GRO path affects systems that forward or aggregate traffic. skb_gro_receive_list() is missing the NAPI_GRO_CB(skb)->flush validation that skb_gro_receive() already has, so flush-marked, already-aggregated frag_list packets get re-aggregated, corrupting the frag_list chain; a later skb_segment() on the TX path then dereferences a NULL/corrupted pointer and crashes the kernel. No public exploit identified at time of analysis and EPSS is low (0.18%), but a stable patch is available. Despite the NVD CVSS of 9.8, the described impact is availability-only (crash), not code execution.

Technical ContextAI

The bug lives in Generic Receive Offload (GRO), the kernel mechanism that coalesces incoming skbs to reduce per-packet overhead. GRO can merge segments either into an skb's fragment array (skb_gro_receive) or into its frag_list chain (skb_gro_receive_list, used for GSO/LRO-style list packets). Commit 0ab03f353d36 added a flush check to skb_gro_receive() so packets already marked NAPI_GRO_CB(skb)->flush are not re-merged, but the equivalent early-return in skb_gro_receive_list() was never given the same guard. When an LRO-generated packet already carrying a frag_list is flush-marked and re-enters GRO (e.g. tethering/device forwarding), it is merged again, producing loops or dangling references in the frag_list. The corruption is only realized later: skb_segment() (via tcp_gso_segment → inet_gso_segment → __skb_gso_segment on the transmit path) walks the chain and calls skb_headlen() on a NULL/garbage list_skb around the hsize/nfrags check. CPE data scopes this to cpe:2.3:a:linux:linux. CWE is listed as N/A, but the root cause class is missing input validation leading to NULL-pointer dereference / invalid pointer use (CWE-476 / CWE-20 family).

RemediationAI

Vendor-released patch: update to a fixed kernel - 6.12.101, 6.18.42, 7.1.6, or 7.2-rc5 or later - matching your maintained stable series, or apply the backported stable commits (107e1a46, a4dfd46c, fc0c0f7a, e751256486) from git.kernel.org; distribution users should install the vendor kernel build that references CVE-2026-68136. Where an immediate reboot to a patched kernel is not possible, the most effective compensating control is to disable hardware LRO on the ingress NICs of forwarding/tethering devices (ethtool -K <iface> lro off), since the crash requires an LRO-generated frag_list packet re-entering GRO; the trade-off is reduced receive-coalescing throughput on those interfaces. Disabling GRO itself (ethtool -K <iface> gro off) also removes the re-aggregation path but carries a larger CPU/throughput cost. If the host does not forward or tether traffic, restricting or disabling packet forwarding removes the described trigger scenario. Track fixes via the git.kernel.org stable commit links above and the NVD advisory.

Vendor StatusVendor

SUSE

Severity: Important
Product Status
SUSE Linux Enterprise Desktop 15 SP7 Affected
SUSE Linux Enterprise Desktop 15 SP7 Affected
SUSE Linux Enterprise High Availability Extension 15 SP7 Affected
SUSE Linux Enterprise High Availability Extension 15 SP7 Affected
SUSE Linux Enterprise High Availability Extension 16.0 Affected

Share

EUVD-2026-55517 vulnerability details – vuln.today

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