Linux Kernel Transport Header Vulnerability in skb_partial_csum_set Function

Vulnerability

A vulnerability has been identified in the Linux kernel's handling of transport headers within the skb_partial_csum_set function. This issue arises because the transport_header field can be inadvertently set to the special value 0xFFFF, which is used to indicate that the transport header has not been set. Currently, this vulnerability can only be exploited by fuzzing tools. The problem was reported by syzbot, which highlighted a warning related to the transport header magic value.

Impact

Exploitation of this vulnerability could lead to incorrect handling of transport headers, potentially causing issues in network packet processing.

Reproduction

The vulnerability can be reproduced by using a fuzzer, such as syzkaller, to send packets that manipulate the transport header of a socket buffer (sk_buff) object. The fuzzer can set the transport header to the magic value 0xFFFF, which the skb_partial_csum_set function will then incorrectly interpret as a valid header position. This can trigger the vulnerability by causing the transport header to be processed incorrectly, as the function is supposed to set the header based on the calculated checksum offset, but instead allows the header to be marked as unset.

Remediation

Users can upgrade to the latest version of the Linux kernel where this vulnerability has been addressed. The specific commit that resolves this issue is 3e785c8deb046305c61b9fa02265d0cb900c4a45.

Added: Sep 18, 2025, 4:46 PM
Updated: Sep 18, 2025, 4:46 PM

Vulnerability Rating

Custom Algorithm
spread
9.0
impact
2.5
exploitability
5.7
remediation
7.7
relevance
0.6
threat
4.8
urgency
2.9
incentive
1.7

Our algorithm analyzes dozens of metrics to generate these 8 key vulnerability categories, which are then combined to calculate the overall risk score.