CVE-2024-26752: l2tp: pass correct message length to ip6_append_data
In the Linux kernel, the following vulnerability has been resolved:
l2tp: pass correct message length to ip6appenddata
l2tpip6sendmsg 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 skbqueueempty when deciding how much data to append using ip6appenddata.
However, the code which performed the calculation was incorrect:
ulen = len + skbqueueempty(&sk->skwritequeue) ? 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.
Affected Software
Remediation
Event History
Frequently Asked Questions
What is the severity of CVE-2024-26752?
The severity of CVE-2024-26752 is considered to be moderate.
How do I fix CVE-2024-26752?
To fix CVE-2024-26752, update to the latest patched version of the Linux kernel as listed in the vulnerability details.
What systems are affected by CVE-2024-26752?
CVE-2024-26752 affects specific versions of the Linux kernel including versions 5.10.223-1, 5.10.226-1, 6.1.119-1, 6.1.123-1, 6.12.10-1, and 6.12.11-1.
What components does CVE-2024-26752 involve?
CVE-2024-26752 involves the l2tp component of the Linux kernel and specifically affects the l2tp_ip6_sendmsg function.
When was CVE-2024-26752 reported?
CVE-2024-26752 was reported in early 2024.