CVE-2024-49979: net: gso: fix tcp fraglist segmentation after pull from frag_list
In the Linux kernel, the following vulnerability has been resolved:
net: gso: fix tcp fraglist segmentation after pull from frag_list
Detect tcp gso fraglist skbs with corrupted geometry (see below) and
pass these to skb_segment instead of skb_segment_list, as the first
can segment them correctly.
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 these skbs, breaking these invariants.
In extreme cases they pull all data into skb linear. For TCP, this
causes a NULL ptr deref in __tcpv4_gso_segment_list_csum at
tcp_hdr(seg->next).
Detect invalid geometry due to pull, by checking head_skb size.
Don't just drop, as this may blackhole a destination. Convert to be
able to pass to regular skb_segment.
Approach and description based on a patch by Willem de Bruijn.
Security readout for executives and security teams
Plain-English summary
A flaw in Linux TCP packet segmentation can crash the kernel when NAT, BPF, or similar processing changes specially structured network buffers. Successful triggering affects availability rather than data confidentiality or integrity. Exposed network services using affected kernels and relevant packet-processing hooks deserve prompt review.
Executive priority
Treat as a high-priority availability issue for exposed Linux gateways and hosts with relevant network hooks. Patch through supported vendor channels promptly, prioritizing critical traffic paths. Broader emergency action is not supported by the supplied evidence because active exploitation is unconfirmed.
Technical view
TCP GSO fraglist buffers can retain invalid geometry after a datapath hook pulls data from the fragment list. The optimized segmentation path then may dereference a null next-segment pointer in __tcpv4_gso_segment_list_csum. The kernel fix detects malformed geometry and routes the buffer through regular skb_segment processing.
Likely exposure
The source identifies Linux 6.10-era and 6.11-era releases, with listed boundaries including 6.10.14 and 6.11.3. The supplied version representation is ambiguous, so exact exposure should be established through distribution advisories and fix-commit mapping. Risk is most relevant where NAT, BPF, or other hooks modify TCP GSO fraglist buffers.
Exploitation context
The CVSS assessment is 7.5 with network reachability, low complexity, no privileges, and availability-only impact. The supplied record is not in CISA KEV and provides no evidence of active exploitation or a public exploit. Practical triggering depends on affected packet geometry and datapath processing conditions.
Researcher notes
The safety change validates the head buffer's size before selecting skb_segment_list and falls back to skb_segment for altered geometry. This avoids dropping traffic and potential destination blackholing. The bundle contains several stable-tree commits, indicating backports, but its flattened affected-version data does not reliably communicate precise inclusive and exclusive boundaries.
Mitigation direction
Update to a vendor-supported kernel containing the applicable referenced stable fix.
Confirm distribution backports because package versions may not match upstream kernel numbering.
Prioritize internet-facing systems using NAT, BPF, or substantial network packet processing.
Review vendor guidance before changing datapath features as a temporary risk reduction.
Validation and detection
Inventory running kernel versions across hosts, appliances, containers' hosts, and network gateways.
Map each distribution kernel to the referenced upstream fix commits or vendor advisories.
Identify systems using NAT, BPF programs, or other packet-modifying hooks.
Review kernel crash records for null dereferences involving __tcpv4_gso_segment_list_csum.
After updating, verify the fixed kernel is running rather than merely installed.
Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.
Potential ATT&CK relevance
Conservative CVE-to-ATT&CK context
These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.
ATT&CK lookup starting points
Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.
cve · low confidence lookup
CVE-2024-49979 mapping review
Open the CVE-to-ATT&CK bridge for reviewed, inferred, or future official mappings tied to this CVE.
These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.
We collect every scored CVSS vector available in the official CNA and ADP containers. When more than one version is present, the table keeps the source vectors side by side instead of collapsing them into the highest score.