Linux kernel
cpe:2.3:a:linux:linux_kernel:*:*:*:*:*:*:*, +4 more
A memory management vulnerability has been identified in the Linux kernel's AMD GPU driver. The issue arises in the 'amdgpu_gmc_get_nps_memranges()' function, which allocates memory using 'kvcalloc()'. This allocation method can lead to memory corruption if 'kfree()' is used to release memory allocated by 'vmalloc()', particularly for large allocations. The vulnerability has been addressed by changing the deallocation method to 'kvfree()', which correctly handles memory allocated by both 'kmalloc' and 'vmalloc'. This issue was discovered through static analysis and code review.
The vulnerability could lead to memory corruption, potentially causing instability or unexpected behavior in the system.
The vulnerability can be reproduced by compiling the Linux kernel with the AMD GPU driver. The 'amdgpu_gmc_get_nps_memranges()' function will allocate memory using 'kvcalloc()', which may involve 'vmalloc()' for larger allocations. If this memory is then freed with 'kfree()', it will result in corruption.
Users can apply the latest patches available in the Linux kernel stable tree to address this vulnerability.
Our algorithm analyzes dozens of metrics to generate these 8 key vulnerability categories, which are then combined to calculate the overall risk score.