In the Linux kernel, the following vulnerability has been resolved:
drm/amdgpu: Fix buffer size in gfx_v9_4_3_init_ cp_compute_microcode() and rlc_microcode()
The function gfx_v9_4_3_init_microcode in gfx_v9_4_3.c was generating about potential truncation of output when using the snprintf function. The issue was due to the size of the buffer 'ucode_prefix' being too small to accommodate the maximum possible length of the string being written into it.
The string being written is "amdgpu/%s_mec.bin" or "amdgpu/%s_rlc.bin", where %s is replaced by the value of 'chip_name'. The length of this string without the %s is 16 characters. The warning message indicated that 'chip_name' could be up to 29 characters long, resulting in a total of 45 characters, which exceeds the buffer size of 30 characters.
To resolve this issue, the size of the 'ucode_prefix' buffer has been reduced from 30 to 15. This ensures that the maximum possible length of the string being written into the buffer will not exceed its size, thus preventing potential buffer overflow and truncation issues.
Fixes the below with gcc W=1: drivers/gpu/drm/amd/amdgpu/gfx_v9_4_3.c: In function ‘gfx_v9_4_3_early_init’: drivers/gpu/drm/amd/amdgpu/gfx_v9_4_3.c:379:52: warning: ‘%s’ directive output may be truncated writing up to 29 bytes into a region of size 23 [-Wformat-truncation=] 379 | snprintf(fw_name, sizeof(fw_name), "amdgpu/%s_rlc.bin", chip_name); | ^~ ...... 439 | r = gfx_v9_4_3_init_rlc_microcode(adev, ucode_prefix); | ~~~~~~~~~~~~ drivers/gpu/drm/amd/amdgpu/gfx_v9_4_3.c:379:9: note: ‘snprintf’ output between 16 and 45 bytes into a destination of size 30 379 | snprintf(fw_name, sizeof(fw_name), "amdgpu/%s_rlc.bin", chip_name); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/gpu/drm/amd/amdgpu/gfx_v9_4_3.c:413:52: warning: ‘%s’ directive output may be truncated writing up to 29 bytes into a region of size 23 [-Wformat-truncation=] 413 | snprintf(fw_name, sizeof(fw_name), "amdgpu/%s_mec.bin", chip_name); | ^~ ...... 443 | r = gfx_v9_4_3_init_cp_compute_microcode(adev, ucode_prefix); | ~~~~~~~~~~~~ drivers/gpu/drm/amd/amdgpu/gfx_v9_4_3.c:413:9: note: ‘snprintf’ output between 16 and 45 bytes into a destination of size 30 413 | snprintf(fw_name, sizeof(fw_name), "amdgpu/%s_mec.bin", chip_name); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
CVSS Details
- CVSS 3.1 Base Score: 7.8
- CVSS 3.1 Vector: (CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H)
Covered by Rapid7
| Product | Vendor Advisory | Solution File | Added | Published |
|---|---|---|---|---|
| Debian | — | Upgrade linux | Jul 27, 2026 | Jul 27, 2026 |
| Redhat_linux | — | Upgrade kernel-rtNo solution existsUpgrade kernel | Dec 5, 2024 | Jun 24, 2024 |
| Suse | — | Upgrade kernel-azure-optionalUpgrade kernel-default-vdsoUpgrade kernel-devel-azureUpgrade reiserfs-kmp-azureUpgrade kernel-rt_debug-livepatch-develUpgrade kernel-develUpgrade cluster-md-kmp-azureUpgrade dtb-xilinxUpgrade dtb-alteraUpgrade dtb-qcomUpgrade dtb-lgUpgrade kernel-kvmsmall-develUpgrade kernel-source-vanillaUpgrade kernel-azureUpgrade dtb-exynosUpgrade kernel-default-base-rebuildUpgrade kernel-64kb-develUpgrade gfs2-kmp-defaultUpgrade kernel-zfcpdumpUpgrade dtb-mediatekUpgrade dtb-armUpgrade dtb-sprdUpgrade dtb-rockchipUpgrade ocfs2-kmp-defaultUpgrade dlm-kmp-64kbUpgrade kernel-debug-vdsoUpgrade kernel-64kbUpgrade kernel-symsUpgrade gfs2-kmp-azureUpgrade kernel-rt_debug-develUpgrade cluster-md-kmp-rtUpgrade kernel-devel-rtUpgrade reiserfs-kmp-defaultUpgrade kernel-64kb-livepatch-develUpgrade kernel-rt-develUpgrade dtb-caviumUpgrade kernel-syms-azureUpgrade kselftests-kmp-64kbUpgrade ocfs2-kmp-azureUpgrade kernel-debugUpgrade dtb-allwinnerUpgrade kernel-64kb-extraUpgrade kernel-rtUpgrade kernel-default-optionalUpgrade kernel-sourceUpgrade kernel-source-azureUpgrade dtb-apmUpgrade kernel-default-develUpgrade kernel-debug-develUpgrade kernel-kvmsmallUpgrade kernel-macrosUpgrade kernel-defaultUpgrade kernel-default-baseUpgrade dtb-renesasUpgrade dlm-kmp-rtUpgrade kernel-default-livepatch-develUpgrade gfs2-kmp-rtUpgrade kernel-rt-livepatch-develUpgrade dlm-kmp-defaultUpgrade kernel-64kb-optionalUpgrade kernel-syms-rtUpgrade kernel-rt-vdsoUpgrade kernel-docsUpgrade gfs2-kmp-64kbUpgrade dtb-appleUpgrade cluster-md-kmp-64kbUpgrade kernel-azure-vdsoUpgrade dtb-amlogicUpgrade dtb-hisiliconUpgrade kernel-debug-livepatch-develUpgrade kselftests-kmp-azureUpgrade dtb-amazonUpgrade kselftests-kmp-defaultUpgrade dtb-amdUpgrade kernel-source-rtUpgrade kernel-obs-qaUpgrade kernel-default-extraUpgrade dtb-nvidiaUpgrade reiserfs-kmp-rtUpgrade reiserfs-kmp-64kbUpgrade ocfs2-kmp-rtUpgrade kselftests-kmp-rtUpgrade kernel-rt_debugUpgrade kernel-rt-optionalUpgrade kernel-kvmsmall-vdsoUpgrade kernel-kvmsmall-livepatch-develUpgrade kernel-azure-livepatch-develUpgrade dtb-socionextUpgrade dtb-marvellUpgrade kernel-rt-extraUpgrade kernel-docs-htmlUpgrade ocfs2-kmp-64kbUpgrade kernel-rt_debug-vdsoUpgrade kernel-obs-buildUpgrade kernel-default-livepatchUpgrade kernel-azure-extraUpgrade kernel-azure-develUpgrade dtb-freescaleUpgrade dtb-broadcomUpgrade dlm-kmp-azureUpgrade cluster-md-kmp-default | Jul 23, 2024 | Jun 24, 2024 |
| Ubuntu | — | Upgrade linux-image-raspiUpgrade linux-image-genericUpgrade linux-image-oem-22.04bUpgrade linux-image-ibm-lts-24.04Upgrade linux-image-6.8.0-1012-oracle-64kUpgrade linux-image-6.8.0-44-generic-64kUpgrade linux-image-nvidia-64k-6.8Upgrade linux-image-6.8.0-1014-azureUpgrade linux-image-nvidiaUpgrade linux-image-ibm-classicUpgrade linux-image-6.8.0-1013-nvidia-64kUpgrade linux-image-kvmUpgrade linux-image-oem-22.04cUpgrade linux-image-6.8.0-44-lowlatencyUpgrade linux-image-virtual-hwe-24.04Upgrade linux-image-6.8.0-45-generic-64kUpgrade linux-image-oracle-64kUpgrade linux-image-nvidia-lowlatencyUpgrade linux-image-lowlatency-64kUpgrade linux-image-6.8.0-44-genericUpgrade linux-image-lowlatencyUpgrade linux-image-azureUpgrade linux-image-generic-64kUpgrade linux-image-generic-hwe-24.04Upgrade linux-image-ibmUpgrade linux-image-6.8.0-1012-oemUpgrade linux-image-nvidia-lowlatency-64kUpgrade linux-image-azure-fdeUpgrade linux-image-oem-22.04aUpgrade linux-image-gcpUpgrade linux-image-generic-lpaeUpgrade linux-image-generic-hwe-22.04Upgrade linux-image-nvidia-64kUpgrade linux-image-oem-22.04Upgrade linux-image-6.8.0-45-genericUpgrade linux-image-6.8.0-1014-azure-fdeUpgrade linux-image-virtualUpgrade linux-image-oem-22.04dUpgrade linux-image-lowlatency-hwe-22.04Upgrade linux-image-generic-64k-hwe-22.04Upgrade linux-image-6.8.0-1011-raspiUpgrade linux-image-oracleUpgrade linux-image-6.8.0-1012-oracleUpgrade linux-image-gkeUpgrade linux-image-awsUpgrade linux-image-6.8.0-1015-awsUpgrade linux-image-6.8.0-1013-nvidiaUpgrade linux-image-nvidia-6.8Upgrade linux-image-lowlatency-64k-hwe-22.04Upgrade linux-image-virtual-hwe-22.04Upgrade linux-image-6.8.0-44-lowlatency-64kUpgrade linux-image-6.8.0-1013-nvidia-lowlatencyUpgrade linux-image-6.8.0-1010-gkeUpgrade linux-image-generic-64k-hwe-24.04Upgrade linux-image-6.8.0-1013-nvidia-lowlatency-64kUpgrade linux-image-6.8.0-1012-ibmUpgrade linux-image-6.8.0-1014-gcp | Sep 12, 2024 | Jun 24, 2024 |
Prioritise with Active Threat Intelligence
With curated Threat Intelligence, you can see which vulnerabilities truly put you at risk, prioritize what matters most, and act before attackers do.
Explore Intelligence Hub