Description
In the Linux kernel, the following vulnerability has been resolved: net: pull headers in qdisc_pkt_len_segs_init() Most ndo_start_xmit() methods expects headers of gso packets to be already in skb->head. net/core/tso.c users are particularly at risk, because tso_build_hdr() does a memcpy(hdr, skb->data, hdr_len); qdisc_pkt_len_segs_init() already does a dissection of gso packets. Use pskb_may_pull() instead of skb_header_pointer() to make sure drivers do not have to reimplement this. Some malicious packets could be fed, detect them so that we can drop them sooner with a new SKB_DROP_REASON_SKB_BAD_GSO drop_reason.
CVSS breakdown
CVSS 3.1
Attack Vector
Local
Attack Complexity
Low
Privileges Required
Low
User Interaction
None
Scope
Changed
Confidentiality
High
Integrity
None
Availability
High
Affected products
- Linux / Linuxe876f208af18b074f800656e4d1b99da75b2135f – 9d4f5c68f5ad4ab425f3ce1500c97c9f9743999a
- Linux / Linuxe876f208af18b074f800656e4d1b99da75b2135f – 7fb4c19670110f052c04e1ec1d2b953b9f4f57e4
- Linux / Linux3.16 – 3.16
- Linux / Linux0 – 3.16
- Linux / Linux7.0.10 – 7.0.*
- Linux / Linux7.1 – *