9.8

CVE-2026-68136

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

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().
Daten sind bereitgestellt durch das CVE Programm von einer CVE Numbering Authority (CNA) (Unstrukturiert).
HerstellerLinux
≫
Produkt Linux
Default Statusunaffected
Version 3a1296a38d0cf62bffb9a03c585cbd5dbf15d596
Version < 7fc7e35212cf58c134310fb47566a844297ceae9
Status affected
Version 3a1296a38d0cf62bffb9a03c585cbd5dbf15d596
Version < d1fb23f8f794ac4683127bd49a6422bd87e0ac02
Status affected
Version 3a1296a38d0cf62bffb9a03c585cbd5dbf15d596
Version < db3e82da616f52e2b27e25e7be3fde2f2a5e54d6
Status affected
Version 3a1296a38d0cf62bffb9a03c585cbd5dbf15d596
Version < 107e1a469f53a2a70874f3f12bf6fcd23925da1d
Status affected
Version 3a1296a38d0cf62bffb9a03c585cbd5dbf15d596
Version < a4dfd46cc8f08a29c6183794790547d0945f3d45
Status affected
Version 3a1296a38d0cf62bffb9a03c585cbd5dbf15d596
Version < fc0c0f7a207f0cd2d2aa725696c907f7d03af9e0
Status affected
Version 3a1296a38d0cf62bffb9a03c585cbd5dbf15d596
Version < e751256486d0ded20f5a9f9863467f1dce65142f
Status affected
HerstellerLinux
≫
Produkt Linux
Default Statusaffected
Version 5.6
Status affected
Version 0
Version < 5.6
Status unaffected
Version <= 5.10.*
Version 5.10.266
Status unaffected
Version <= 6.1.*
Version 6.1.184
Status unaffected
Version <= 6.6.*
Version 6.6.153
Status unaffected
Version <= 6.12.*
Version 6.12.101
Status unaffected
Version <= 6.18.*
Version 6.18.42
Status unaffected
Version <= 7.1.*
Version 7.1.6
Status unaffected
Version <= *
Version 7.2
Status unaffected
VulnDex Vulnerability Enrichment
Diese Information steht angemeldeten Benutzern zur Verfügung. Login Login
Zu dieser CVE wurde keine Warnung gefunden.
EPSS Metriken
Typ Quelle Score Percentile
EPSS FIRST.org 0.5% 0.403
CVSS Metriken
Quelle Base Score Exploit Score Impact Score Vector String
416baaa9-dc9f-4396-8d5f-8c081fb06d67 9.8 3.9 5.9
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Es wurden noch keine Informationen zu CWE veröffentlicht.
https://git.kernel.org/stable/c/107e1a469f53a2a70874f3f12bf6fcd23925da1d
https://git.kernel.org/stable/c/a4dfd46cc8f08a29c6183794790547d0945f3d45
https://git.kernel.org/stable/c/fc0c0f7a207f0cd2d2aa725696c907f7d03af9e0
https://git.kernel.org/stable/c/e751256486d0ded20f5a9f9863467f1dce65142f
https://git.kernel.org/stable/c/7fc7e35212cf58c134310fb47566a844297ceae9
https://git.kernel.org/stable/c/d1fb23f8f794ac4683127bd49a6422bd87e0ac02
https://git.kernel.org/stable/c/db3e82da616f52e2b27e25e7be3fde2f2a5e54d6