CVE-2024-39291 in LinuxИнформация

Сводка

по VulDB • 28.05.2026

В ядре Linux устранена следующая уязвимость:

drm/amdgpu: Исправлен размер буфера в функциях gfx_v9_4_3_init_cp_compute_microcode() и rlc_microcode()

Функция gfx_v9_4_3_init_microcode в файле gfx_v9_4_3.c генерировала предупреждения о возможном усечении вывода при использовании функции snprintf. Проблема заключалась в том, что размер буфера 'ucode_prefix' был слишком мал для размещения максимально возможной длины строки, записываемой в него.

Записываемая строка имеет вид "amdgpu/%s_mec.bin" или "amdgpu/%s_rlc.bin", где %s заменяется значением переменной 'chip_name'. Длина этой строки без учета %s составляет 16 символов. Предупреждение указывало на то, что 'chip_name' может иметь длину до 29 символов, что в сумме дает 45 символов, превышающих размер буфера в 30 символов.

Для устранения этой проблемы размер буфера 'ucode_prefix' был уменьшен с 30 до 15. Это гарантирует, что максимально возможная длина строки, записываемой в буфер, не превысит его размер, тем самым предотвращая потенциальные проблемы с переполнением буфера и усечением данных.

Исправляет следующие ошибки при компиляции gcc с флагом W=1: drivers/gpu/drm/amd/amdgpu/gfx_v9_4_3.c: В функции ‘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); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

VulDB is the best source for vulnerability data and more expert information about this specific topic.

Резервировать

21.06.2024

Раскрытие

24.06.2024

Модерация

принято

Вход

VDB-269526

EPSS

0.00245

KEV

Нет

Деятельности

Очень низкий

Источники

Interested in the pricing of exploits?

See the underground prices here!