CVE-2024-49978

Source
https://cve.org/CVERecord?id=CVE-2024-49978
Import Source
https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2024-49978.json
JSON Data
https://api.test.osv.dev/v1/vulns/CVE-2024-49978
Downstream
Related
Published
2024-10-21T18:02:25.151Z
Modified
2026-05-28T03:52:49.437319922Z
Summary
gso: fix udp gso fraglist segmentation after pull from frag_list
Details

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

gso: fix udp gso fraglist segmentation after pull from frag_list

Detect gso fraglist skbs with corrupted geometry (see below) and pass these to skbsegment instead of skbsegment_list, as the first can segment them correctly.

Valid SKBGSOFRAGLIST skbs - consist of two or more segments - the headskb holds the protocol headers plus first gsosize - one or more fraglist skbs hold exactly one segment - all but the last must be gsosize

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

In extreme cases they pull all data into skb linear. For UDP, this causes a NULL ptr deref in _udpv4gsosegmentlistcsum at udphdr(seg->next)->dest.

Detect invalid geometry due to pull, by checking headskb size. Don't just drop, as this may blackhole a destination. Convert to be able to pass to regular skbsegment.

Database specific
{
    "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2024/49xxx/CVE-2024-49978.json",
    "cna_assigner": "Linux"
}
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
9fd1ff5d2ac7181844735806b0a703c942365291
Fixed
080e6c9a3908de193a48f646c5ce1bfb15676ffc
Fixed
af3122f5fdc0d00581d6e598a668df6bf54c9daa
Fixed
33e28acf42ee863f332a958bfc2f1a284a3659df
Fixed
3cd00d2e3655fad3bda96dc1ebf17b6495f86fea
Fixed
a1e40ac5b5e9077fe1f7ae0eb88034db0f9ae1ab

Database specific

source
"https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2024-49978.json"

Linux / Kernel

Package

Name
Kernel

Affected ranges

Type
ECOSYSTEM
Events
Introduced
5.6.0
Fixed
6.1.113
Type
ECOSYSTEM
Events
Introduced
6.2.0
Fixed
6.6.55
Type
ECOSYSTEM
Events
Introduced
6.7.0
Fixed
6.10.14
Type
ECOSYSTEM
Events
Introduced
6.11.0
Fixed
6.11.3

Database specific

source
"https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2024-49978.json"