Skip to content
Fencer Vulns
high 7.5

CVE-2025-38124 json

net: fix udp gso skb_segment after pull from frag_list

published 2025-07-03 16 mo ago modified 2026-10-15 25 d ago also EUVD-2025-19819

cvss
7.5
version 3.1, CNA
cisa kev
Not listed
not in CISA's catalog
epss
0.5%
EPSS 0.5% chance of exploitation in 30 days, percentile 40%
public exploits
0
none known

Summary

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

net: fix udp gso skb_segment after pull from frag_list

Commit a1e40ac5b5e9 ("net: gso: fix udp gso fraglist segmentation after pull from frag_list") detected invalid geometry in frag_list skbs and redirects them from skb_segment_list to more robust skb_segment. But some packets with modified geometry can also hit bugs in that code. We don't know how many such cases exist. Addressing each one by one also requires touching the complex skb_segment code, which risks introducing bugs for other types of skbs. Instead, linearize all these packets that fail the basic invariants on gso fraglist skbs. That is more robust.

If only part of the fraglist payload is pulled into head_skb, it will always cause exception when splitting skbs by skb_segment. For detailed call stack information, see below.

Valid SKB_GSO_FRAGLIST skbs - consist of two or more segments - the head_skb holds the protocol headers plus first gso_size - one or more frag_list skbs hold exactly one segment - all but the last must be gso_size

Optional datapath hooks such as NAT and BPF (bpf_skb_pull_data) can modify fraglist skbs, breaking these invariants.

In extreme cases they pull one part of data into skb linear. For UDP, this causes three payloads with lengths of (11,11,10) bytes were pulled tail to become (12,10,10) bytes.

The skbs no longer meets the above SKB_GSO_FRAGLIST conditions because payload was pulled into head_skb, it needs to be linearized before pass to regular skb_segment.

skb_segment+0xcd0/0xd14 __udp_gso_segment+0x334/0x5f4 udp4_ufo_fragment+0x118/0x15c inet_gso_segment+0x164/0x338 skb_mac_gso_segment+0xc4/0x13c __skb_gso_segment+0xc4/0x124 validate_xmit_skb+0x9c/0x2c0 validate_xmit_skb_list+0x4c/0x80 sch_direct_xmit+0x70/0x404 __dev_queue_xmit+0x64c/0xe5c neigh_resolve_output+0x178/0x1c4 ip_finish_output2+0x37c/0x47c __ip_finish_output+0x194/0x240 ip_finish_output+0x20/0xf4 ip_output+0x100/0x1a0 NF_HOOK+0xc4/0x16c ip_forward+0x314/0x32c ip_rcv+0x90/0x118 __netif_receive_skb+0x74/0x124 process_backlog+0xe8/0x1a4 __napi_poll+0x5c/0x1f8 net_rx_action+0x154/0x314 handle_softirqs+0x154/0x4b8

[118.376811] [C201134] rxq0_pus: [name:bug&]kernel BUG at net/core/skbuff.c:4278! [118.376829] [C201134] rxq0_pus: [name:traps&]Internal error: Oops - BUG: 00000000f2000800 [#1] PREEMPT SMP [118.470774] [C201134] rxq0_pus: [name:mrdump&]Kernel Offset: 0x178cc00000 from 0xffffffc008000000 [118.470810] [C201134] rxq0_pus: [name:mrdump&]PHYS_OFFSET: 0x40000000 [118.470827] [C201134] rxq0_pus: [name:mrdump&]pstate: 60400005 (nZCv daif +PAN -UAO) [118.470848] [C201134] rxq0_pus: [name:mrdump&]pc : [0xffffffd79598aefc] skb_segment+0xcd0/0xd14 [118.470900] [C201134] rxq0_pus: [name:mrdump&]lr : [0xffffffd79598a5e8] skb_segment+0x3bc/0xd14 [118.470928] [C201134] rxq0_pus: [name:mrdump&]sp : ffffffc008013770

Patch / fix

  • Linux Linux 6.1.142, 6.6.94, 6.11, 6.12, 6.12.34, 6.15.3, 6.16
  • linux Debian 12 6.1.147-1
  • linux Debian 14, Debian 13 6.12.35-1

debian advisories DEBIAN-CVE-2025-38124

  • linux Ubuntu 24.04 LTS 6.8.0-100.100
  • linux-aws Ubuntu 24.04 LTS 6.8.0-1046.49
  • linux-gcp Ubuntu 24.04 LTS 6.8.0-1047.50
  • linux-gke Ubuntu 24.04 LTS 6.8.0-1043.48
  • linux-ibm Ubuntu 24.04 LTS 6.8.0-1044.44
  • linux-azure Ubuntu 24.04 LTS 6.8.0-1046.52
  • linux-gkeop Ubuntu 24.04 LTS 6.8.0-1030.33
  • linux-raspi Ubuntu 24.04 LTS 6.8.0-1047.51

ubuntu advisories UBUNTU-CVE-2025-38124

Ubuntu security data © Canonical Ltd., from https://github.com/canonical/ubuntu-security-notices via OSV; changed: normalised to fixed package versions per release. CC BY-SA 4.0

  • kernel RHEL 10.0 6.12.0-55.28.1.el10_0
  • rv RHEL 10.0 6.12.0-55.28.1.el10_0
  • perf RHEL 10.0 6.12.0-55.28.1.el10_0
  • rtla RHEL 10.0 6.12.0-55.28.1.el10_0
  • libperf RHEL 10.0 6.12.0-55.28.1.el10_0
  • kernel-rt RHEL 10.0 6.12.0-55.28.1.el10_0
  • kernel-64k RHEL 10.0 6.12.0-55.28.1.el10_0
  • kernel-core RHEL 10.0 6.12.0-55.28.1.el10_0

red hat advisories RHSA-2025:14009RHSA-2025:13962

  • kernel-rt Linux Micro 6.2 6.12.0-160000.6.1
  • kernel-64kb SLES 16.0, Linux Micro 6.2, SLES for SAP applications 16.0 6.12.0-160000.6.1
  • kernel-source SLES 16.0, Linux Micro 6.2, SLES for SAP applications 16.0 6.12.0-160000.6.1
  • kernel-default SLES 16.0, SLE High Availability Extension 16.0, Linux Micro 6.2 +1 more 6.12.0-160000.6.1
  • kernel-default-base SLES 16.0, Linux Micro 6.2, SLES for SAP applications 16.0 6.12.0-160000.6.1.160000.2.4
  • kernel-syms SLES 16.0, Linux Micro Extras 6.2, SLES for SAP applications 16.0 6.12.0-160000.6.1
  • kernel-obs-qa SLES for SAP applications 16.0, SLES 16.0 6.12.0-160000.6.1
  • kernel-kvmsmall SLES for SAP applications 16.0, SLES 16.0 6.12.0-160000.6.1

suse advisories SUSE-SU-2025:21074-1SUSE-SU-2025:21139-1SUSE-SU-2026:20560-1SUSE-SU-2025:21179-1SUSE-SU-2025:03023-1SUSE-SU-2025:03011-1

  • kernel-rt openSUSE Leap 16.0 6.12.0-160000.6.1
  • dtb-aarch64 openSUSE Leap 16.0 6.12.0-160000.6.1
  • kernel-64kb openSUSE Leap 16.0 6.12.0-160000.6.1
  • kernel-syms openSUSE Leap 16.0 6.12.0-160000.6.1
  • kernel-obs-qa openSUSE Leap 16.0 6.12.0-160000.6.1
  • kernel-source openSUSE Leap 16.0 6.12.0-160000.6.1
  • kernel-default openSUSE Leap 16.0 6.12.0-160000.6.1
  • kernel-kvmsmall openSUSE Leap 16.0 6.12.0-160000.6.1

opensuse advisories openSUSE-SU-2025:20081-1

  • kernel AlmaLinux 9 5.14.0-570.35.1.el9_6
  • rv AlmaLinux 9 5.14.0-570.35.1.el9_6
  • perf AlmaLinux 9 5.14.0-570.35.1.el9_6
  • rtla AlmaLinux 9 5.14.0-570.35.1.el9_6
  • libperf AlmaLinux 9 5.14.0-570.35.1.el9_6
  • kernel-rt AlmaLinux 9 5.14.0-570.35.1.el9_6
  • kernel-64k AlmaLinux 9 5.14.0-570.35.1.el9_6
  • kernel-core AlmaLinux 9 5.14.0-570.35.1.el9_6

almalinux advisories ALSA-2025:13962ALSA-2025:14009

Vendor advisories

What the vendors themselves say about their products: affected, fixed or not affected, and what to do.

red hat product security vex CVE-2025-38124 updated cvss 7.0

kernel: net: fix udp gso skb_segment after pull from frag_list

  • Red Hat Enterprise Linux AppStream (v. 9) rv 5.14.0-570.35.1.el9_6, perf 5.14.0-570.35.1.el9_6, rtla 5.14.0-570.35.1.el9_6, python3-perf 5.14.0-570.35.1.el9_6, kernel-devel-matched 5.14.0-570.35.1.el9_6, kernel-64k-devel-matched 5.14.0-570.35.1.el9_6, +7 more
    fixed: vendor fix RHSA-2025:13962
  • Red Hat Enterprise Linux AppStream (v. 10) rv 6.12.0-55.28.1.el10_0, perf 6.12.0-55.28.1.el10_0, rtla 6.12.0-55.28.1.el10_0, python3-perf 6.12.0-55.28.1.el10_0, kernel-devel-matched 6.12.0-55.28.1.el10_0, kernel-64k-devel-matched 6.12.0-55.28.1.el10_0, +7 more
    fixed: vendor fix RHSA-2025:14009
  • Red Hat Enterprise Linux BaseOS (v. 9) kernel 5.14.0-570.35.1.el9_6, kernel-64k 5.14.0-570.35.1.el9_6, kernel-core 5.14.0-570.35.1.el9_6, kernel-tools 5.14.0-570.35.1.el9_6, kernel-modules 5.14.0-570.35.1.el9_6, kernel-64k-core 5.14.0-570.35.1.el9_6, +27 more
    fixed: vendor fix RHSA-2025:13962
  • Red Hat Enterprise Linux BaseOS (v. 10) kernel 6.12.0-55.28.1.el10_0, kernel-64k 6.12.0-55.28.1.el10_0, kernel-core 6.12.0-55.28.1.el10_0, kernel-tools 6.12.0-55.28.1.el10_0, kernel-modules 6.12.0-55.28.1.el10_0, kernel-64k-core 6.12.0-55.28.1.el10_0, +27 more
    fixed: vendor fix RHSA-2025:14009
  • Red Hat Enterprise Linux CodeReady Linux Builder (v. 9) libperf 5.14.0-570.35.1.el9_6, kernel-debuginfo-common-s390x 5.14.0-570.35.1.el9_6, kernel-debuginfo-common-x86_64 5.14.0-570.35.1.el9_6, kernel-debuginfo-common-aarch64 5.14.0-570.35.1.el9_6, kernel-debuginfo-common-ppc64le 5.14.0-570.35.1.el9_6
    fixed: vendor fix RHSA-2025:13962
  • Red Hat Enterprise Linux CodeReady Linux Builder (v. 10) libperf 6.12.0-55.28.1.el10_0, kernel-debuginfo-common-s390x 6.12.0-55.28.1.el10_0, kernel-debuginfo-common-x86_64 6.12.0-55.28.1.el10_0, kernel-debuginfo-common-aarch64 6.12.0-55.28.1.el10_0, kernel-debuginfo-common-ppc64le 6.12.0-55.28.1.el10_0
    fixed: vendor fix RHSA-2025:14009
  • Red Hat Enterprise Linux Real Time (v. 9) kernel-rt 5.14.0-570.35.1.el9_6, kernel-rt-64k 5.14.0-570.35.1.el9_6, kernel-rt-core 5.14.0-570.35.1.el9_6, kernel-rt-modules 5.14.0-570.35.1.el9_6, kernel-rt-64k-core 5.14.0-570.35.1.el9_6, kernel-rt-debug-core 5.14.0-570.35.1.el9_6, +14 more
    fixed: vendor fix RHSA-2025:13962
  • Red Hat Enterprise Linux Real Time (v. 10) kernel-rt 6.12.0-55.28.1.el10_0, kernel-rt-64k 6.12.0-55.28.1.el10_0, kernel-rt-core 6.12.0-55.28.1.el10_0, kernel-rt-modules 6.12.0-55.28.1.el10_0, kernel-rt-64k-core 6.12.0-55.28.1.el10_0, kernel-rt-debug-core 6.12.0-55.28.1.el10_0, +14 more
    fixed: vendor fix RHSA-2025:14009
show 3 more
  • Red Hat Enterprise Linux Real Time for NFV (v. 9) kernel-rt 5.14.0-570.35.1.el9_6, kernel-rt-kvm 5.14.0-570.35.1.el9_6, kernel-rt-core 5.14.0-570.35.1.el9_6, kernel-rt-modules 5.14.0-570.35.1.el9_6, kernel-rt-debug-kvm 5.14.0-570.35.1.el9_6, kernel-rt-debug-core 5.14.0-570.35.1.el9_6, +6 more
    fixed: vendor fix RHSA-2025:13962
  • Red Hat Enterprise Linux Real Time for NFV (v. 10) kernel-rt 6.12.0-55.28.1.el10_0, kernel-rt-kvm 6.12.0-55.28.1.el10_0, kernel-rt-core 6.12.0-55.28.1.el10_0, kernel-rt-modules 6.12.0-55.28.1.el10_0, kernel-rt-debug-kvm 6.12.0-55.28.1.el10_0, kernel-rt-debug-core 6.12.0-55.28.1.el10_0, +6 more
    fixed: vendor fix RHSA-2025:14009
  • Red Hat Enterprise Linux 6 perf, kernel, python-perf, kernel-kdump, kernel-firmware, kernel-bootwrapper, +1 more Red Hat Enterprise Linux 7 perf, kernel, bpftool, kernel-rt, python-perf, kernel-kdump, +8 more Red Hat Enterprise Linux 8 perf, kernel, bpftool, kernel-rt, kernel-core, kernel-tools, +29 more
    not affected: vulnerable code not present

Red Hat CSAF VEX © Red Hat, Inc., from https://security.access.redhat.com/data/csaf/v2/vex/; changed: reduced to product statuses and remediations. CC BY 4.0 · csaf

cisa ICSA-25-162-05 updated cvss 5.5

Siemens SIMATIC S7-1500 CPU family

  • Siemens SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) >= 3.1.5 Siemens SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) >= 3.1.5 Siemens SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) >= 3.1.5 Siemens SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) >= 3.1.5 Siemens SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) >= 3.1.5
    affected: mitigation, no fix available

Facts from CISA's republication of the vendor's own advisory (CSAF); the linked advisory is the authoritative source. CISA notification · csaf

Exploit prediction

0.47% chance of exploitation in the next 30 days, higher than 40% of all scored CVEs (FIRST EPSS, 2026-11-08).

CVSS scores

assigned by version score vector
CNA 3.1 7.5 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
NVD 3.1 5.5 CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H

Affected products

  • Linux Linux
  • Siemens SIMATIC S7-1500 CPU 1518-4 PN/DP MFP
  • Siemens SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP
  • Siemens SIPLUS S7-1500 CPU 1518-4 PN/DP MFP

Classification

Weakness
  • CWE-401 Missing Release of Memory after Effective Lifetime
Technology feeds

References

Sources

Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.