CVE-2025-21926

net: gso: fix ownership in __udp_gso_segment

State
Published
Severity
7.8 High
Published
Apr 1, 2025
Updated
Oct 15, 2026
Reserved
Dec 29, 2024

Read the record on cve.org

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.

Scores

CVSSScoreVectorSource
3.17.8 HighCVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:HLinux

Weaknesses

The record names no weakness.

Affected Products

ProductVersions
LinuxLinux
  • ad405857b174ed31a97982bb129c320d03321cf5 to before 9f28205ddb76e86cac418332e952241d85fed0dcAffected
  • ad405857b174ed31a97982bb129c320d03321cf5 to before a2d1cca955ed34873e524cc2e6e885450d262f05Affected
  • ad405857b174ed31a97982bb129c320d03321cf5 to before 455217ac9db0cf9349b3933664355e907bb1a569Affected
  • ad405857b174ed31a97982bb129c320d03321cf5 to before e8db70537878e1bb3fd83e5abcc6feefc0587828Affected
  • ad405857b174ed31a97982bb129c320d03321cf5 to before 01a83237644d6822bc7df2c5564fc81b0df84358Affected
  • ad405857b174ed31a97982bb129c320d03321cf5 to before 084819b0d8b1bd433b90142371eb9450d657f8caAffected
  • ad405857b174ed31a97982bb129c320d03321cf5 to before c32da44cc9298eaa6109e3fc2c2b4e07cc4bf11bAffected
  • ad405857b174ed31a97982bb129c320d03321cf5 to before ee01b2f2d7d0010787c2343463965bbc283a497fAffected
LinuxLinux
  • 4.18Affected
  • before 4.18Not affected
  • 5.4.291 through 5.4.*Not affected
  • 5.10.235 through 5.10.*Not affected
  • 5.15.179 through 5.15.*Not affected
  • 6.1.131 through 6.1.*Not affected
  • 6.6.83 through 6.6.*Not affected
  • 6.12.19 through 6.12.*Not affected
  • 6.13.7 through 6.13.*Not affected
  • 6.14 and laterNot affected

References

Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.