Skip to content
Heist/ feed
High

net: fix udp gso skb_segment after pull from frag_list

Type: advisorySource: Official CVE List1 source record

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 linearize

Announced Group revision 1
Original source ↗

CVE-2025-38124

Primary source · Revision 1

Imported from structured advisory data. Source references identify upstream records or fields; verify affected versions and your deployed configuration.

Security context

Source reference: cve:CVE-2025-38124

Linux

Source reference: /containers/cna/affected/0/product

Affected versions
Not stated in this record
Fixed versions
Not stated in this record
Prerequisites
Not stated in this record

Linux

Source reference: /containers/cna/affected/1/product

Affected versions
Not stated in this record
Fixed versions
Not stated in this record
Prerequisites
Not stated in this record

Structured affected-version data

Original package identities and version rules from this source.

[
  {
    "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
    "vendor": "Linux",
    "product": "Linux",
    "versions": [
      {
        "status": "affected",
        "version": "080e6c9a3908de193a48f646c5ce1bfb15676ffc",
        "lessThan": "0e65f38bd1aa14ea86e221b7bb814d38278d86c3",
        "versionType": "git"
      },
      {
        "status": "affected",
        "version": "af3122f5fdc0d00581d6e598a668df6bf54c9daa",
        "lessThan": "85eef1748c024da1a191aed56b30a3a65958c50c",
        "versionType": "git"
      },
      {
        "status": "affected",
        "version": "a1e40ac5b5e9077fe1f7ae0eb88034db0f9ae1ab",
        "lessThan": "4399f59a9467a324ed46657555f0e1f209a14acb",
        "versionType": "git"
      },
      {
        "status": "affected",
        "version": "a1e40ac5b5e9077fe1f7ae0eb88034db0f9ae1ab",
        "lessThan": "a04302867094bdc6efac1b598370fc47cf3f2388",
        "versionType": "git"
      },
      {
        "status": "affected",
        "version": "a1e40ac5b5e9077fe1f7ae0eb88034db0f9ae1ab",
        "lessThan": "3382a1ed7f778db841063f5d7e317ac55f9e7f72",
        "versionType": "git"
      },
      {
        "status": "affected",
        "version": "33e28acf42ee863f332a958bfc2f1a284a3659df",
        "versionType": "git"
      },
      {
        "status": "affected",
        "version": "3cd00d2e3655fad3bda96dc1ebf17b6495f86fea",
        "versionType": "git"
      },
      {
        "status": "affected",
        "version": "6.1.113",
        "lessThan": "6.1.142",
        "versionType": "semver"
      },
      {
        "status": "affected",
        "version": "6.6.55",
        "lessThan": "6.6.94",
        "versionType": "semver"
      },
      {
        "status": "affected",
        "version": "6.10.14",
        "lessThan": "6.11",
        "versionType": "semver"
      },
      {
        "status": "affected",
        "version": "6.11.3",
        "lessThan": "6.12",
        "versionType": "semver"
      }
    ],
    "programFiles": [
      "net/ipv4/udp_offload.c"
    ],
    "defaultStatus": "unaffected"
  },
  {
    "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
    "vendor": "Linux",
    "product": "Linux",
    "versions": [
      {
        "status": "affected",
        "version": "6.12"
      },
      {
        "status": "unaffected",
        "version": "0",
        "lessThan": "6.12",
        "versionType": "semver"
      },
      {
        "status": "unaffected",
        "version": "6.1.142",
        "versionType": "semver",
        "lessThanOrEqual": "6.1.*"
      },
      {
        "status": "unaffected",
        "version": "6.6.94",
        "versionType": "semver",
        "lessThanOrEqual": "6.6.*"
      },
      {
        "status": "unaffected",
        "version": "6.12.34",
        "versionType": "semver",
        "lessThanOrEqual": "6.12.*"
      },
      {
        "status": "unaffected",
        "version": "6.15.3",
        "versionType": "semver",
        "lessThanOrEqual": "6.15.*"
      },
      {
        "status": "unaffected",
        "version": "6.16",
        "versionType": "original_commit_for_fix",
        "lessThanOrEqual": "*"
      }
    ],
    "programFiles": [
      "net/ipv4/udp_offload.c"
    ],
    "defaultStatus": "affected"
  }
]
Related CVEs
CVE-2025-38124

Source reference: /cveMetadata/cveId

Publisher severity

high

Source reference: /containers/cna/metrics

Event
#27017 · Revision 1
Added to Heist Feed
Publisher date
Read the original announcement