CVE-2026-53235: net: add pskb_may_pull() to skb_gro_receive_list()
In the Linux kernel, the following vulnerability has been resolved:
net: add pskbmaypull() to skbgroreceivelist()
skbgroreceivelist() calls skbpull(skb, skbgrooffset(skb)) without first ensuring the data is in the linear area via pskbmaypull(). When the skb arrives via napigrofrags(), skbheadlen can be 0 (all data in page fragments) while skbgrooffset is non-zero (after IP+TCP header parsing). The skbpull() then decrements skb->len by skbgrooffset but skb->datalen stays unchanged, hitting BUGON(skb->len < skb->datalen) in skbpull().
The UDP fraglist GRO path already contains this guard at udpoffload.c:749. Adding it to skbgroreceivelist() itself provides centralized protection for all callers (TCP, UDP, and any future protocols), and ensures the precondition of skbpull() is satisfied before it is called.
On pskbmaypull() failure, set NAPIGROCB(skb)->flush = 1 so the skb is not held as a new GRO head and is instead delivered through the normal receive path, matching the UDP handling.
Affected Software
Remediation
Event History
Frequently Asked Questions
What is the severity of CVE-2026-53235?
The severity of CVE-2026-53235 is rated as high with a score of 7.5.
How do I fix CVE-2026-53235?
To fix CVE-2026-53235, update the Linux kernel to a version that includes the patch for this vulnerability.
What type of systems are affected by CVE-2026-53235?
CVE-2026-53235 affects systems running vulnerable versions of the Linux kernel.
What potential impact does CVE-2026-53235 have on systems?
CVE-2026-53235 can lead to a denial of service due to a flaw in processing certain network packets.
Who is impacted by CVE-2026-53235?
Any organization or individual utilizing affected versions of the Linux kernel is impacted by CVE-2026-53235.