CVE-2025-21926

net: gso: fix ownership in __udp_gso_segment

MEDIUM
5.5
CVSS Score
Published: April 1, 2025 at 03:40 PM UTC
Updated: October 15, 2026 at 02:17 AM UTC
4 products affected across 2 vendorsLinux KernelSIMATIC S7-1500 CPU 1518-4 Pn /dp MFP FirmwareSiplus S7-1500 CPU 1518-4 Pn /dp MFP Firmware

Using Linux by Linux?

Get instant alerts when new vulnerabilities affect Linux - before attackers find them.

Real-time alertsTrack your software stackFree plan available
Severity
MEDIUM5.5
Exploit prediction
EPSS 0.2%

Description

In the Linux kernel, the following vulnerability has been resolved: net: gso: fix ownership in __udp_gso_segment In __udp_gso_segment the skb destructor is removed before segmenting the skb but the socket reference is kept as-is. This is an issue if the original skb is later orphaned as we can hit the following bug: kernel BUG at ./include/linux/skbuff.h:3312! (skb_orphan) RIP: 0010:ip_rcv_core+0x8b2/0xca0 Call Trace: ip_rcv+0xab/0x6e0 __netif_receive_skb_one_core+0x168/0x1b0 process_backlog+0x384/0x1100 __napi_poll.constprop.0+0xa1/0x370 net_rx_action+0x925/0xe50 The above can happen following a sequence of events when using OpenVSwitch, when an OVS_ACTION_ATTR_USERSPACE action precedes an OVS_ACTION_ATTR_OUTPUT action: 1. OVS_ACTION_ATTR_USERSPACE is handled (in do_execute_actions): the skb goes through queue_gso_packets and then __udp_gso_segment, where its destructor is removed. 2. The segments' data are copied and sent to userspace. 3. OVS_ACTION_ATTR_OUTPUT is handled (in do_execute_actions) and the same original skb is sent to its path. 4. If it later hits skb_orphan, we hit the bug. Fix this by also removing the reference to the socket in __udp_gso_segment.

Affected

Our own answer: ranges merged, affected separated from platform-only, with confidence and review flags.

4.18 ≤ v < 5.4.2915.11 ≤ v < 5.15.1795.16 ≤ v < 6.1.1315.5 ≤ v < 5.10.2356.13 ≤ v < 6.13.76.2 ≤ v < 6.6.836.7 ≤ v < 6.12.196.146.14 rc16.14 rc26.14 rc36.14 rc46.14 rc5ad405857b174ed31a97982bb129c320d03321cf5
Vendor states this is fixed in 01a83237644d6822bc7df2c5564fc81b0df84358 (fixed)
Vendor states this is fixed in 084819b0d8b1bd433b90142371eb9450d657f8ca (fixed)
Vendor states this is fixed in 455217ac9db0cf9349b3933664355e907bb1a569 (fixed)
Vendor states this is fixed in 9f28205ddb76e86cac418332e952241d85fed0dc (fixed)
Vendor states this is fixed in a2d1cca955ed34873e524cc2e6e885450d262f05 (fixed)
Vendor states this is fixed in c32da44cc9298eaa6109e3fc2c2b4e07cc4bf11b (fixed)
Vendor states this is fixed in e8db70537878e1bb3fd83e5abcc6feefc0587828 (fixed)
Vendor states this is fixed in ee01b2f2d7d0010787c2343463965bbc283a497f (fixed)
Vendor states this is fixed in 4.18 (unaffected)
Vendor states this is fixed in 5.10.235 (unaffected)
Vendor states this is fixed in 5.15.179 (unaffected)
Vendor states this is fixed in 5.4.291 (unaffected)
Vendor states this is fixed in 6.1.131 (unaffected)
Vendor states this is fixed in 6.12.19 (unaffected)
Vendor states this is fixed in 6.13.7 (unaffected)
Vendor states this is fixed in 6.14 (unaffected)
Vendor states this is fixed in 6.6.83 (unaffected)

References (12)

Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/01a83237644d6822bc7df2c5564fc81b0df84358
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/084819b0d8b1bd433b90142371eb9450d657f8ca
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/455217ac9db0cf9349b3933664355e907bb1a569
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/9f28205ddb76e86cac418332e952241d85fed0dc
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/a2d1cca955ed34873e524cc2e6e885450d262f05
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/c32da44cc9298eaa6109e3fc2c2b4e07cc4bf11b
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/e8db70537878e1bb3fd83e5abcc6feefc0587828
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/ee01b2f2d7d0010787c2343463965bbc283a497f

CVSS

Attack Vector
LOCAL
Complexity
LOW
Privileges
LOW
User Interaction
NONE
Scope
UNCHANGED
Confidentiality
NONE
Integrity
NONE
Availability
HIGH
Vector?

Quick Info

StatusMODIFIED
CWE
NVD-CWE-noinfo

Get alerted

Stop reading CVE feeds looking for your own stack

Track the products you run and VulnTracker tells you when a new CVE affects them — with what is known about fixing it, and nothing about the rest.

Free plan, no card