CVE-2024-38621

Severity CVSS v4.0:
Pending analysis
Type:
CWE-787 Out-of-bounds Write
Publication date:
21/06/2024
Last modified:
04/11/2025

Description

In the Linux kernel, the following vulnerability has been resolved:<br /> <br /> media: stk1160: fix bounds checking in stk1160_copy_video()<br /> <br /> The subtract in this condition is reversed. The -&gt;length is the length<br /> of the buffer. The -&gt;bytesused is how many bytes we have copied thus<br /> far. When the condition is reversed that means the result of the<br /> subtraction is always negative but since it&amp;#39;s unsigned then the result<br /> is a very high positive value. That means the overflow check is never<br /> true.<br /> <br /> Additionally, the -&gt;bytesused doesn&amp;#39;t actually work for this purpose<br /> because we&amp;#39;re not writing to "buf-&gt;mem + buf-&gt;bytesused". Instead, the<br /> math to calculate the destination where we are writing is a bit<br /> involved. You calculate the number of full lines already written,<br /> multiply by two, skip a line if necessary so that we start on an odd<br /> numbered line, and add the offset into the line.<br /> <br /> To fix this buffer overflow, just take the actual destination where we<br /> are writing, if the offset is already out of bounds print an error and<br /> return. Otherwise, write up to buf-&gt;length bytes.

Vulnerable products and versions

CPE From Up to
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 3.7 (including) 4.19.316 (excluding)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 4.20 (including) 5.4.278 (excluding)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 5.5 (including) 5.10.219 (excluding)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 5.11 (including) 5.15.161 (excluding)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 5.16 (including) 6.1.93 (excluding)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 6.2 (including) 6.6.33 (excluding)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 6.7 (including) 6.9.4 (excluding)