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 ->length is the length<br />
of the buffer. The ->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&#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 ->bytesused doesn&#39;t actually work for this purpose<br />
because we&#39;re not writing to "buf->mem + buf->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->length bytes.
Impact
Base Score 3.x
7.10
Severity 3.x
HIGH
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) |
To consult the complete list of CPE names with products and versions, see this page
References to Advisories, Solutions, and Tools
- https://git.kernel.org/stable/c/7532bcec0797adfa08791301c3bcae14141db3bd
- https://git.kernel.org/stable/c/a08492832cc4cacc24e0612f483c86ca899b9261
- https://git.kernel.org/stable/c/a16775828aaed1c54ff4e6fe83e8e4d5c6a50cb7
- https://git.kernel.org/stable/c/b504518a397059e1d55c521ba0ea2b545a6c4b52
- https://git.kernel.org/stable/c/d410017a7181cb55e4a5c810b32b75e4416c6808
- https://git.kernel.org/stable/c/ecf4ddc3aee8ade504c4d36b7b4053ce6093e200
- https://git.kernel.org/stable/c/f6a392266276730bea893b55d12940e32a25f56a
- https://git.kernel.org/stable/c/faa4364bef2ec0060de381ff028d1d836600a381
- https://git.kernel.org/stable/c/7532bcec0797adfa08791301c3bcae14141db3bd
- https://git.kernel.org/stable/c/a08492832cc4cacc24e0612f483c86ca899b9261
- https://git.kernel.org/stable/c/a16775828aaed1c54ff4e6fe83e8e4d5c6a50cb7
- https://git.kernel.org/stable/c/b504518a397059e1d55c521ba0ea2b545a6c4b52
- https://git.kernel.org/stable/c/d410017a7181cb55e4a5c810b32b75e4416c6808
- https://git.kernel.org/stable/c/ecf4ddc3aee8ade504c4d36b7b4053ce6093e200
- https://git.kernel.org/stable/c/f6a392266276730bea893b55d12940e32a25f56a
- https://git.kernel.org/stable/c/faa4364bef2ec0060de381ff028d1d836600a381
- https://lists.debian.org/debian-lts-announce/2024/06/msg00020.html



