CVE-2024-40970
Synopsys: Linux dw-axi-dmac Array Overrun Vulnerability
Description
In the Linux kernel, the following vulnerability has been resolved: Avoid hw_desc array overrun in dw-axi-dmac I have a use case where nr_buffers = 3 and in which each descriptor is composed by 3 segments, resulting in the DMA channel descs_allocated to be 9. Since axi_desc_put() handles the hw_desc considering the descs_allocated, this scenario would result in a kernel panic (hw_desc array will be overrun). To fix this, the proposal is to add a new member to the axi_dma_desc structure, where we keep the number of allocated hw_descs (axi_desc_alloc()) and use it in axi_desc_put() to handle the hw_desc array correctly. Additionally I propose to remove the axi_chan_start_first_queued() call after completing the transfer, since it was identified that unbalance can occur (started descriptors can be interrupted and transfer ignored due to DMA channel not being enabled).
INFO
Published Date :
July 12, 2024, 1:15 p.m.
Last Modified :
Nov. 21, 2024, 9:31 a.m.
Source :
416baaa9-dc9f-4396-8d5f-8c081fb06d67
Remotely Exploitable :
No
Impact Score :
3.6
Exploitability Score :
1.8
References to Advisories, Solutions, and Tools
Here, you will find a curated list of external links that provide in-depth
information, practical solutions, and valuable tools related to
CVE-2024-40970
.
We scan GitHub repositories to detect new proof-of-concept exploits. Following list is a collection of public exploits and proof-of-concepts, which have been published on GitHub (sorted by the most recently updated).
Results are limited to the first 15 repositories due to potential performance issues.
The following list is the news that have been mention
CVE-2024-40970
vulnerability anywhere in the article.
The following table lists the changes that have been made to the
CVE-2024-40970
vulnerability over time.
Vulnerability history details can be useful for understanding the evolution of a vulnerability, and for identifying the most recent changes that may impact the vulnerability's severity, exploitability, or other characteristics.
-
CVE Modified by af854a3a-2127-422b-91ae-364da2661108
Nov. 21, 2024
Action Type Old Value New Value Added Reference https://git.kernel.org/stable/c/333e11bf47fa8d477db90e2900b1ed3c9ae9b697 Added Reference https://git.kernel.org/stable/c/7c3bb96a20cd8db3b8824b2ff08b6cde4505c7e5 Added Reference https://git.kernel.org/stable/c/9004784e8d68bcd1ac1376407ba296fa28f04dbe Added Reference https://git.kernel.org/stable/c/dd42570018f5962c10f215ad9c21274ed5d3541e Added Reference https://git.kernel.org/stable/c/e151ae1ee065cf4b8ce4394ddb9d9c8df6370c66 -
Initial Analysis by [email protected]
Sep. 09, 2024
Action Type Old Value New Value Added CVSS V3.1 NIST AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H Changed Reference Type https://git.kernel.org/stable/c/333e11bf47fa8d477db90e2900b1ed3c9ae9b697 No Types Assigned https://git.kernel.org/stable/c/333e11bf47fa8d477db90e2900b1ed3c9ae9b697 Patch Changed Reference Type https://git.kernel.org/stable/c/7c3bb96a20cd8db3b8824b2ff08b6cde4505c7e5 No Types Assigned https://git.kernel.org/stable/c/7c3bb96a20cd8db3b8824b2ff08b6cde4505c7e5 Patch Changed Reference Type https://git.kernel.org/stable/c/9004784e8d68bcd1ac1376407ba296fa28f04dbe No Types Assigned https://git.kernel.org/stable/c/9004784e8d68bcd1ac1376407ba296fa28f04dbe Patch Changed Reference Type https://git.kernel.org/stable/c/dd42570018f5962c10f215ad9c21274ed5d3541e No Types Assigned https://git.kernel.org/stable/c/dd42570018f5962c10f215ad9c21274ed5d3541e Patch Changed Reference Type https://git.kernel.org/stable/c/e151ae1ee065cf4b8ce4394ddb9d9c8df6370c66 No Types Assigned https://git.kernel.org/stable/c/e151ae1ee065cf4b8ce4394ddb9d9c8df6370c66 Patch Added CWE NIST NVD-CWE-noinfo Added CPE Configuration OR *cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* versions up to (excluding) 5.15.162 *cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* versions from (including) 5.16 up to (excluding) 6.1.96 *cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* versions from (including) 6.2 up to (excluding) 6.6.36 *cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* versions from (including) 6.7 up to (excluding) 6.9.7 -
CVE Received by 416baaa9-dc9f-4396-8d5f-8c081fb06d67
Jul. 12, 2024
Action Type Old Value New Value Added Description In the Linux kernel, the following vulnerability has been resolved: Avoid hw_desc array overrun in dw-axi-dmac I have a use case where nr_buffers = 3 and in which each descriptor is composed by 3 segments, resulting in the DMA channel descs_allocated to be 9. Since axi_desc_put() handles the hw_desc considering the descs_allocated, this scenario would result in a kernel panic (hw_desc array will be overrun). To fix this, the proposal is to add a new member to the axi_dma_desc structure, where we keep the number of allocated hw_descs (axi_desc_alloc()) and use it in axi_desc_put() to handle the hw_desc array correctly. Additionally I propose to remove the axi_chan_start_first_queued() call after completing the transfer, since it was identified that unbalance can occur (started descriptors can be interrupted and transfer ignored due to DMA channel not being enabled). Added Reference kernel.org https://git.kernel.org/stable/c/7c3bb96a20cd8db3b8824b2ff08b6cde4505c7e5 [No types assigned] Added Reference kernel.org https://git.kernel.org/stable/c/dd42570018f5962c10f215ad9c21274ed5d3541e [No types assigned] Added Reference kernel.org https://git.kernel.org/stable/c/e151ae1ee065cf4b8ce4394ddb9d9c8df6370c66 [No types assigned] Added Reference kernel.org https://git.kernel.org/stable/c/9004784e8d68bcd1ac1376407ba296fa28f04dbe [No types assigned] Added Reference kernel.org https://git.kernel.org/stable/c/333e11bf47fa8d477db90e2900b1ed3c9ae9b697 [No types assigned]
CWE - Common Weakness Enumeration
While CVE identifies
specific instances of vulnerabilities, CWE categorizes the common flaws or
weaknesses that can lead to vulnerabilities. CVE-2024-40970
is
associated with the following CWEs:
Common Attack Pattern Enumeration and Classification (CAPEC)
Common Attack Pattern Enumeration and Classification
(CAPEC)
stores attack patterns, which are descriptions of the common attributes and
approaches employed by adversaries to exploit the CVE-2024-40970
weaknesses.