Improper Handling of Length Parameter Inconsistency Affecting kernel package, versions <0:4.14.343-259.562.amzn2


Severity

Recommended
0.0
medium
0
10

Based on Amazon Linux security rating.

Threat Intelligence

EPSS
0.04% (15th percentile)

Do your applications use this vulnerable package?

In a few clicks we can analyze your entire application and see what components are vulnerable in your application, and suggest you quick fixes.

Test your applications
  • Snyk IDSNYK-AMZN2-KERNEL-7710794
  • published20 Aug 2024
  • disclosed3 Apr 2024

Introduced: 3 Apr 2024

CVE-2024-26752  (opens in a new tab)
CWE-130  (opens in a new tab)
First added by Snyk

How to fix?

Upgrade Amazon-Linux:2 kernel to version 0:4.14.343-259.562.amzn2 or higher.
This issue was patched in ALAS2-2024-2549.

NVD Description

Note: Versions mentioned in the description apply only to the upstream kernel package and not the kernel package as distributed by Amazon-Linux. See How to fix? for Amazon-Linux:2 relevant fixed versions and status.

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(&amp;sk-&gt;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.

CVSS Scores

version 3.1