CVE-2024-26752

l2tp: pass correct message length to ip6_append_data

published April 3, 2024

CVSS
—
EPSS
0%
Percentile
15.8
In the wild
Unconfirmed
What it is

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

l2tp: pass correct message length to ip6_append_data

l2tp_ip6_sendmsg needs to avoid accounting for the transport header

twice when splicing more data into an already partially-occupied skbuff.

To manage this, we check whether the skbuff contains data using

skb_queue_empty when deciding how much data to append using

ip6_append_data.

However, the code which performed the calculation was incorrect:

ulen = len + skb_queue_empty(&sk->sk_write_queue) ? transhdrlen : 0;

...due to C operator precedence, this ends up setting ulen to

transhdrlen for messages with a non-zero length, which results in

corrupted packets on the wire.

Add parentheses to correct the calculation in line with the original

intent.

The record
Technical detail
CVSS
Not scored
CVSS v4.0
Not supplied
EPSS
0.00252 · 15.8th percentile
Published
2024-04-03T17:00Z
EPSS history
Timeline
  • 03 APR 17:00Z
    l2tp: pass correct message length to ip6_append_data
    cvelistv5