Skip to content
OpenAdvisories
High · 7.5 CVE-2026-43194 EUVD-2026-27755GHSA-6g7r-xrvq-rpc8

net: consume xmit errors of GSO frames

Published May 6, 2026 · Updated Oct 19, 2026 · Assigned by Linux

Vendor: Linux Product: Linux Package: linux Package: linux Package: linux-allwinner-5.19 Package: linux-aws Package: linux-aws-5.0 Package: linux-aws-5.11 Package: linux-aws-5.13 Package: linux-aws-5.15 Package: linux-aws-5.19 Package: linux-aws-5.3 Package: linux-aws-5.4 Package: linux-aws-5.8 Package: linux-aws-6.14 Package: linux-aws-6.17 Package: linux-aws-6.2 Package: linux-aws-6.5 Package: linux-aws-6.8 Package: linux-aws-fips Package: linux-aws-hwe Package: linux-azure Package: linux-azure-4.15 Package: linux-azure-5.11 Package: linux-azure-5.13 Package: linux-azure-5.15 Package: linux-azure-5.19 Package: linux-azure-5.3 Package: linux-azure-5.4 Package: linux-azure-5.8 Package: linux-azure-6.11 Package: linux-azure-6.14 Package: linux-azure-6.17 Package: linux-azure-6.2 Package: linux-azure-6.5 Package: linux-azure-6.8 Package: linux-azure-edge Package: linux-azure-fde Package: linux-azure-fde-5.15 Package: linux-azure-fde-5.19 Package: linux-azure-fde-6.14 Package: linux-azure-fde-6.2 Package: linux-azure-fde-6.8 Package: linux-azure-fips Package: linux-azure-nvidia Package: linux-azure-nvidia-6.14 Package: linux-bluefield Package: linux-fips Package: linux-gcp Package: linux-gcp-4.15 Package: linux-gcp-5.11 Package: linux-gcp-5.13 Package: linux-gcp-5.15 Package: linux-gcp-5.19 Package: linux-gcp-5.3 Package: linux-gcp-5.4 Package: linux-gcp-5.8 Package: linux-gcp-6.11 Package: linux-gcp-6.14 Package: linux-gcp-6.17 Package: linux-gcp-6.2 Package: linux-gcp-6.5 Package: linux-gcp-6.8 Package: linux-gcp-fips Package: linux-gke Package: linux-gke-4.15 Package: linux-gke-5.15 Package: linux-gke-5.4 Package: linux-gkeop Package: linux-gkeop-5.15 Package: linux-gkeop-5.4 Package: linux-hwe Package: linux-hwe-5.11 Package: linux-hwe-5.13 Package: linux-hwe-5.15 Package: linux-hwe-5.19 Package: linux-hwe-5.4 Package: linux-hwe-5.8 Package: linux-hwe-6.11 Package: linux-hwe-6.14 Package: linux-hwe-6.17 Package: linux-hwe-6.2 Package: linux-hwe-6.5 Package: linux-hwe-6.8 Package: linux-hwe-edge Package: linux-ibm Package: linux-ibm-5.15 Package: linux-ibm-5.4 Package: linux-ibm-6.8 Package: linux-intel-5.13 Package: linux-intel-iot-realtime Package: linux-intel-iotg Package: linux-intel-iotg-5.15 Package: linux-iot Package: linux-kvm Package: linux-lowlatency Package: linux-lowlatency-hwe-5.15 Package: linux-lowlatency-hwe-5.19 Package: linux-lowlatency-hwe-6.11 Package: linux-lowlatency-hwe-6.2 Package: linux-lowlatency-hwe-6.5 Package: linux-lowlatency-hwe-6.8 Package: linux-lts-xenial Package: linux-nvidia Package: linux-nvidia-6.11 Package: linux-nvidia-6.17 Package: linux-nvidia-6.2 Package: linux-nvidia-6.5 Package: linux-nvidia-6.8 Package: linux-nvidia-lowlatency Package: linux-nvidia-tegra Package: linux-nvidia-tegra-5.15 Package: linux-nvidia-tegra-igx Package: linux-oem Package: linux-oem-5.10 Package: linux-oem-5.13 Package: linux-oem-5.14 Package: linux-oem-5.17 Package: linux-oem-5.6 Package: linux-oem-6.0 Package: linux-oem-6.1 Package: linux-oem-6.11 Package: linux-oem-6.14 Package: linux-oem-6.17 Package: linux-oem-6.5 Package: linux-oem-6.8 Package: linux-oracle Package: linux-oracle-5.0 Package: linux-oracle-5.11 Package: linux-oracle-5.13 Package: linux-oracle-5.15 Package: linux-oracle-5.3 Package: linux-oracle-5.4 Package: linux-oracle-5.8 Package: linux-oracle-6.14 Package: linux-oracle-6.17 Package: linux-oracle-6.5 Package: linux-oracle-6.8 Package: linux-raspi Package: linux-raspi-5.4 Package: linux-raspi-realtime Package: linux-raspi2 Package: linux-realtime Package: linux-realtime-6.14 Package: linux-realtime-6.17 Package: linux-realtime-6.8 Package: linux-riscv Package: linux-riscv-5.11 Package: linux-riscv-5.15 Package: linux-riscv-5.19 Package: linux-riscv-5.8 Package: linux-riscv-6.14 Package: linux-riscv-6.17 Package: linux-riscv-6.5 Package: linux-riscv-6.8 Package: linux-starfive-5.19 Package: linux-starfive-6.2 Package: linux-starfive-6.5 Package: linux-vmware Package: linux-xilinx Package: linux-xilinx-zynqmp Platform: Linux Ecosystem: Debian Ecosystem: Ubuntu

Description

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

net: consume xmit errors of GSO frames

udpgro_frglist.sh and udpgro_bench.sh are the flakiest tests
currently in NIPA. They fail in the same exact way, TCP GRO
test stalls occasionally and the test gets killed after 10min.

These tests use veth to simulate GRO. They attach a trivial
("return XDP_PASS;") XDP program to the veth to force TSO off
and NAPI on.

Digging into the failure mode we can see that the connection
is completely stuck after a burst of drops. The sender's snd_nxt
is at sequence number N [1], but the receiver claims to have
received (rcv_nxt) up to N + 3 * MSS [2]. Last piece of the puzzle
is that senders rtx queue is not empty (let's say the block in
the rtx queue is at sequence number N - 4 * MSS [3]).

In this state, sender sends a retransmission from the rtx queue
with a single segment, and sequence numbers N-4*MSS:N-3*MSS [3].
Receiver sees it and responds with an ACK all the way up to
N + 3 * MSS [2]. But sender will reject this ack as TCP_ACK_UNSENT_DATA
because it has no recollection of ever sending data that far out [1].
And we are stuck.

The root cause is the mess of the xmit return codes. veth returns
an error when it can't xmit a frame. We end up with a loss event
like this:

-------------------------------------------------
| GSO super frame 1 | GSO super frame 2 |
|-----------------------------------------------|
| seg | seg | seg | seg | seg | seg | seg | seg |
| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
-------------------------------------------------
x ok ok <ok>| ok ok ok <x>
\\
snd_nxt

"x" means packet lost by veth, and "ok" means it went thru.
Since veth has TSO disabled in this test it sees individual segments.
Segment 1 is on the retransmit queue and will be resent.

So why did the sender not advance snd_nxt even tho it clearly did
send up to seg 8? tcp_write_xmit() interprets the return code
from the core to mean that data has not been sent at all. Since
TCP deals with GSO super frames, not individual segment the crux
of the problem is that loss of a single segment can be interpreted
as loss of all. TCP only sees the last return code for the last
segment of the GSO frame (in <> brackets in the diagram above).

Of course for the problem to occur we need a setup or a device
without a Qdisc. Otherwise Qdisc layer disconnects the protocol
layer from the device errors completely.

We have multiple ways to fix this.

1) make veth not return an error when it lost a packet.
While this is what I think we did in the past, the issue keeps
reappearing and it's annoying to debug. The game of whack
a mole is not great.

2) fix the damn return codes
We only talk about NETDEV_TX_OK and NETDEV_TX_BUSY in the
documentation, so maybe we should make the return code from
ndo_start_xmit() a boolean. I like that the most, but perhaps
some ancient, not-really-networking protocol would suffer.

3) make TCP ignore the errors
It is not entirely clear to me what benefit TCP gets from
interpreting the result of ip_queue_xmit()? Specifically once
the connection is established and we're pushing data - packet
loss is just packet loss?

4) this fix
Ignore the rc in the Qdisc-less+GSO case, since it's unreliable.
We already always return OK in the TCQ_F_CAN_BYPASS case.
In the Qdisc-less case let's be a bit more conservative and only
mask the GSO errors. This path is taken by non-IP-"networks"
like CAN, MCTP etc, so we could regress some ancient thing.
This is the simplest, but also maybe the hackiest fix?

Similar fix has been proposed by Eric in the past but never committed
because original reporter was working with an OOT driver and wasn't
providing feedback (see Link).

Affected products

VendorProductAffectedFixed
Linux Linux 3.18 5.10.252

Fixed in Linux distributions

Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.

ReleasePackageFixed inAdvisory
Debian 14 linux 6.19.6-1 —
Debian 13 linux 6.12.85-1 —
Debian 12 linux 6.1.170-1 —
ReleasePackageFixed inAdvisory
Ubuntu Nvidia-BlueField 24.04 LTS linux-bluefield 6.8.0-1026.30 —
Ubuntu Nvidia-BlueField 22.04 LTS linux-bluefield 5.15.0-1096.98 —
Ubuntu 25.10 linux +8 No fix yet —
Ubuntu 24.04 LTS linux 6.8.0-134.134 USN-8492-1
Ubuntu 24.04 LTS linux-aws 6.8.0-1060.63 USN-8492-1
Ubuntu 24.04 LTS linux-azure 6.8.0-1063.71 USN-8606-1
Ubuntu 24.04 LTS linux-azure-fde 6.8.0-1062.69 USN-8607-1
Ubuntu 24.04 LTS linux-azure-nvidia 6.8.0-1039.42 —
Ubuntu 24.04 LTS linux-gcp 6.8.0-1063.69 USN-8492-1
Ubuntu 24.04 LTS linux-gke 6.8.0-1058.64 USN-8492-2
Ubuntu 24.04 LTS linux-gkeop 6.8.0-1045.48 USN-8492-2
Ubuntu 24.04 LTS linux-ibm 6.8.0-1060.61 USN-8492-1
Ubuntu 24.04 LTS linux-lowlatency 6.8.0-134.134.1 USN-8497-1
Ubuntu 24.04 LTS linux-nvidia 6.8.0-1058.61 USN-8492-1
Ubuntu 24.04 LTS linux-nvidia-lowlatency 6.8.0-1058.61.1 USN-8492-2
Ubuntu 24.04 LTS linux-nvidia-tegra 6.8.0-1029.30 USN-8498-1
Ubuntu 24.04 LTS linux-oracle 6.8.0-1057.58 USN-8492-1
Ubuntu 24.04 LTS linux-raspi 6.8.0-1060.64 USN-8492-4
Ubuntu 24.04 LTS linux-riscv +26 No fix yet —
Ubuntu 24.04 LTS linux-xilinx 6.8.0-1032.33 USN-8499-1
Ubuntu 22.04 LTS linux 5.15.0-186.196 USN-8575-1
Ubuntu 22.04 LTS linux-aws 5.15.0-1112.119 USN-8575-2
Ubuntu 22.04 LTS linux-aws-6.8 6.8.0-1060.63~22.04.1 USN-8492-2
Ubuntu 22.04 LTS linux-azure +1 5.15.0-1117.126 USN-8610-1, USN-8575-3
Ubuntu 22.04 LTS linux-azure-6.8 6.8.0-1063.71~22.04.1 USN-8606-1
Ubuntu 22.04 LTS linux-azure-fde-6.8 6.8.0-1062.69~22.04.1 USN-8609-1
Ubuntu 22.04 LTS linux-gcp 5.15.0-1112.122 USN-8575-1
Ubuntu 22.04 LTS linux-gcp-6.8 6.8.0-1063.69~22.04.1 USN-8492-2
Ubuntu 22.04 LTS linux-gke 5.15.0-1108.114 USN-8575-1
Ubuntu 22.04 LTS linux-gkeop 5.15.0-1095.103 USN-8575-1
Ubuntu 22.04 LTS linux-hwe-6.8 6.8.0-136.136~22.04.1 USN-8619-1
Ubuntu 22.04 LTS linux-ibm 5.15.0-1106.110 USN-8575-2
Ubuntu 22.04 LTS linux-ibm-6.8 6.8.0-1060.61~22.04.1 USN-8492-2
Ubuntu 22.04 LTS linux-intel-iotg 5.15.0-1107.113 USN-8620-4
Ubuntu 22.04 LTS linux-kvm 5.15.0-1104.109 USN-8575-1
Ubuntu 22.04 LTS linux-lowlatency 5.15.0-184.194 USN-8575-1
Ubuntu 22.04 LTS linux-lowlatency-hwe-6.8 6.8.0-134.134.1~22.04.1 USN-8497-1
Ubuntu 22.04 LTS linux-nvidia 5.15.0-1107.108 USN-8575-2
Ubuntu 22.04 LTS linux-nvidia-6.8 6.8.0-1058.61~22.04.1 USN-8492-1
Ubuntu 22.04 LTS linux-nvidia-tegra 5.15.0-1064.66 USN-8576-2
Ubuntu 22.04 LTS linux-nvidia-tegra-igx 5.15.0-1053.53 USN-8576-2
Ubuntu 22.04 LTS linux-oracle 5.15.0-1109.115 USN-8575-3
Ubuntu 22.04 LTS linux-oracle-6.8 6.8.0-1057.58~22.04.1 USN-8492-2
Ubuntu 22.04 LTS linux-raspi 5.15.0-1106.109 USN-8668-2
Ubuntu 22.04 LTS linux-riscv +32 No fix yet —
Ubuntu 22.04 LTS linux-riscv-6.8 6.8.0-134.134~22.04.1 —
Ubuntu 22.04 LTS linux-xilinx-zynqmp 5.15.0-1075.79 USN-8575-1
Show 18 more (older releases, extended support, other products)
ReleasePackageFixed inAdvisory
Ubuntu 20.04 LTS linux-gke +28 No fix yet —
Ubuntu 18.04 LTS linux-gcp +14 No fix yet —
Ubuntu 16.04 LTS linux-hwe-edge No fix yet —
Ubuntu Pro Realtime 24.04 LTS linux-raspi-realtime 6.8.0-2049.50 USN-8492-3
Ubuntu Pro Realtime 24.04 LTS linux-realtime 6.8.1-1055.56 USN-8492-1
Ubuntu Pro Realtime 24.04 LTS linux-realtime-6.14 +1 No fix yet —
Ubuntu Pro Realtime 22.04 LTS linux-intel-iot-realtime 5.15.0-1104.106 USN-8620-3
Ubuntu Pro Realtime 22.04 LTS linux-realtime 5.15.0-1111.120 USN-8575-1
Ubuntu Pro Realtime 22.04 LTS linux-realtime-6.8 6.8.1-1055.56~22.04.1 USN-8492-1
Ubuntu Pro FIPS 20.04 LTS linux-fips +3 No fix yet —
Ubuntu Pro FIPS 18.04 LTS linux-fips +3 No fix yet —
Ubuntu Pro FIPS 16.04 LTS linux-fips No fix yet —
Ubuntu Pro FIPS-updates 24.04 LTS linux-aws-fips 6.8.0-1060.63+fips1 USN-8492-1
Ubuntu Pro FIPS-updates 24.04 LTS linux-azure-fips 6.8.0-1062.69+fips1 USN-8492-5
Ubuntu Pro FIPS-updates 24.04 LTS linux-fips 6.8.0-134.134+fips1 USN-8492-5
Ubuntu Pro FIPS-updates 24.04 LTS linux-gcp-fips 6.8.0-1063.69+fips1 USN-8492-1
Ubuntu Pro FIPS-updates 22.04 LTS linux-aws-fips 5.15.0-1112.119+fips1 USN-8575-2
Ubuntu Pro FIPS-updates 22.04 LTS linux-azure-fips 5.15.0-1117.126+fips1 USN-8620-2
Ubuntu Pro FIPS-updates 22.04 LTS linux-fips 5.15.0-186.196+fips1 USN-8575-2
Ubuntu Pro FIPS-updates 22.04 LTS linux-gcp-fips 5.15.0-1112.122+fips1 USN-8575-1
Ubuntu Pro FIPS-updates 20.04 LTS linux-fips +3 No fix yet —
Ubuntu Pro FIPS-updates 18.04 LTS linux-fips +3 No fix yet —
Ubuntu Pro FIPS-updates 16.04 LTS linux-fips No fix yet —
Ubuntu Pro FIPS-preview 22.04 LTS linux-fips +3 No fix yet —
Ubuntu Pro 20.04 LTS linux +10 No fix yet —
Ubuntu Pro 20.04 LTS linux-aws-5.15 5.15.0-1112.119~20.04.1 USN-8575-2
Ubuntu Pro 20.04 LTS linux-azure-5.15 5.15.0-1117.126~20.04.1 USN-8620-1
Ubuntu Pro 20.04 LTS linux-azure-fde-5.15 5.15.0-1117.126~20.04.2 USN-8620-1
Ubuntu Pro 20.04 LTS linux-gcp-5.15 5.15.0-1112.122~20.04.1 USN-8668-1
Ubuntu Pro 20.04 LTS linux-hwe-5.15 5.15.0-186.196~20.04.1 USN-8575-1
Ubuntu Pro 20.04 LTS linux-ibm-5.15 +1 5.15.0-1106.110~20.04.1 USN-8597-1
Ubuntu Pro 20.04 LTS linux-intel-iotg-5.15 5.15.0-1107.113~20.04.1 USN-8620-3
Ubuntu Pro 20.04 LTS linux-lowlatency-hwe-5.15 5.15.0-184.194~20.04.1 USN-8575-1
Ubuntu Pro 20.04 LTS linux-nvidia-tegra-5.15 5.15.0-1064.66~20.04.1 USN-8576-1
Ubuntu Pro 20.04 LTS linux-oracle-5.15 5.15.0-1109.115~20.04.1 USN-8620-1
Ubuntu Pro 18.04 LTS linux +12 No fix yet —
Ubuntu Pro 16.04 LTS linux +7 No fix yet —
Ubuntu Pro 14.04 LTS linux-aws +2 No fix yet —
ReleasePackageFixed inAdvisory
SLES 15 SP7 kernel-64kb +4 6.4.0-150700.53.73.2 SUSE-SU-2026:3166-1
SLES 15 SP7 kernel-default-base 6.4.0-150700.53.73.2.150700.17.41.4 SUSE-SU-2026:3166-1
SLES 15 SP7 kernel-docs +2 6.4.0-150700.53.73.1 SUSE-SU-2026:3166-1
Show 7 more (older releases, extended support, other products)
ReleasePackageFixed inAdvisory
SLES for SAP 16.0 kernel-64kb +8 6.12.0-160000.36.1 SUSE-SU-2026:22835-1
SLES for SAP 16.0 kernel-default-base 6.12.0-160000.36.1.160000.2.17 SUSE-SU-2026:22835-1
SLES 16.0 kernel-64kb +8 6.12.0-160000.36.1 SUSE-SU-2026:22835-1, SUSE-SU-2026:22812-1
SLES 16.0 kernel-default-base 6.12.0-160000.36.1.160000.2.17 SUSE-SU-2026:22835-1
SLE Micro 6.2 kernel-default-base 6.12.0-160000.36.1.160000.2.17 SUSE-SU-2026:22769-1
SLE Micro 6.2 kernel-rt +5 6.12.0-160000.36.1 SUSE-SU-2026:22769-1, SUSE-SU-2026:22742-1
SLE Micro 6.1 kernel-rt +2 6.4.0-50.1 SUSE-SU-2026:22904-1, SUSE-SU-2026:22903-1
SLE Micro 6.1 kernel-source +1 6.4.0-50.2 SUSE-SU-2026:22904-1, SUSE-SU-2026:22903-1
SLE Micro 6.0 kernel-rt +2 6.4.0-50.1 SUSE-SU-2026:22810-1, SUSE-SU-2026:22809-1
SLE Micro 6.0 kernel-source +1 6.4.0-50.2 SUSE-SU-2026:22810-1, SUSE-SU-2026:22809-1
SLE Live Patching 15 SP7 kernel-default 6.4.0-150700.53.73.2 SUSE-SU-2026:3166-1
SLE Live Patching 15 SP7 kernel-livepatch-SLE15-SP7-RT_Update_18 1-150700.1.5.1 SUSE-SU-2026:3130-1
SLE Live Patching 15 SP7 kernel-livepatch-SLE15-SP7_Update_19 1-150700.15.3.4 SUSE-SU-2026:3166-1
SUSE Real Time Module 15 SP7 kernel-rt +2 6.4.0-150700.7.67.1 SUSE-SU-2026:3130-1
ReleasePackageFixed inAdvisory
openSUSE Leap 16.0 kernel-default-base 6.12.0-160000.36.1.160000.2.17 openSUSE-SU-2026:21388-1
openSUSE Leap 16.0 kernel-rt +11 6.12.0-160000.36.1 openSUSE-SU-2026:21388-1

Amazon Linux

ReleasePackageFixed inAdvisory
Amazon Linux 2023 kernel-livepatch-6.12.77-99.140 +2 1:1.0-0.amzn2023 ALAS2023-2026-1702, ALAS2023-2026-1544, ALAS2023-2026-1543
Amazon Linux 2023 perf +14 1:6.1.166-197.305.amzn2023 ALAS2023-2026-1544
Amazon Linux 2023 perf6.12 +14 1:6.12.77-99.140.amzn2023 ALAS2023-2026-1543
Amazon Linux 2023 perf6.18 +14 1:6.18.16-18.222.amzn2023 ALAS2023-2026-1702

Oracle Linux

ReleasePackageFixed inAdvisory
Oracle Linux 9 kernel-uek +34 6.12.0-204.92.4.2.el10uek ELSA-2026-50372

Advisories 41

References