CVE-2025-21926

Source
https://nvd.nist.gov/vuln/detail/CVE-2025-21926
Import Source
https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2025-21926.json
JSON Data
https://api.test.osv.dev/v1/vulns/CVE-2025-21926
Downstream
Related
Published
2025-04-01T15:40:57.882Z
Modified
2025-11-28T02:34:40.059807Z
Summary
net: gso: fix ownership in __udp_gso_segment
Details

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

net: gso: fix ownership in _udpgso_segment

In _udpgso_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! (skborphan) RIP: 0010:iprcvcore+0x8b2/0xca0 Call Trace: iprcv+0xab/0x6e0 _netifreceiveskbonecore+0x168/0x1b0 processbacklog+0x384/0x1100 _napipoll.constprop.0+0xa1/0x370 netrxaction+0x925/0xe50

The above can happen following a sequence of events when using OpenVSwitch, when an OVSACTIONATTRUSERSPACE action precedes an OVSACTIONATTROUTPUT action:

  1. OVSACTIONATTRUSERSPACE is handled (in doexecuteactions): the skb goes through queuegsopackets and then _udpgsosegment, where its destructor is removed.
  2. The segments' data are copied and sent to userspace.
  3. OVSACTIONATTROUTPUT is handled (in doexecute_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 _udpgso_segment.

Database specific
{
    "cna_assigner": "Linux",
    "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2025/21xxx/CVE-2025-21926.json"
}
References

Affected packages

Git / git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git

Affected ranges

Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
ad405857b174ed31a97982bb129c320d03321cf5
Fixed
9f28205ddb76e86cac418332e952241d85fed0dc
Fixed
a2d1cca955ed34873e524cc2e6e885450d262f05
Fixed
455217ac9db0cf9349b3933664355e907bb1a569
Fixed
e8db70537878e1bb3fd83e5abcc6feefc0587828
Fixed
01a83237644d6822bc7df2c5564fc81b0df84358
Fixed
084819b0d8b1bd433b90142371eb9450d657f8ca
Fixed
c32da44cc9298eaa6109e3fc2c2b4e07cc4bf11b
Fixed
ee01b2f2d7d0010787c2343463965bbc283a497f

Linux / Kernel

Package

Name
Kernel

Affected ranges

Type
ECOSYSTEM
Events
Introduced
4.18.0
Fixed
5.4.291
Type
ECOSYSTEM
Events
Introduced
5.5.0
Fixed
5.10.235
Type
ECOSYSTEM
Events
Introduced
5.11.0
Fixed
5.15.179
Type
ECOSYSTEM
Events
Introduced
5.16.0
Fixed
6.1.131
Type
ECOSYSTEM
Events
Introduced
6.2.0
Fixed
6.6.83
Type
ECOSYSTEM
Events
Introduced
6.7.0
Fixed
6.12.19
Type
ECOSYSTEM
Events
Introduced
6.13.0
Fixed
6.13.7