Skip to main content
← All vulnerabilities
CVE-2024-49894

drm/amd/display: Fix index out of bounds in degamma hardware format translation

Published
Last modified
published
Not listed in CISA KEV
Fix
Fixed in 4.19.323, 5.4.285, 5.10.227, 5.15.168, 6.1.113, and 3 more
None on Exploit-DB, Metasploit or GitHub
  • Exploitation: none
  • Automatable: no
  • Technical impact: partial

Summary

In the Linux kernel, the following vulnerability has been resolved: drm/amd/display: Fix index out of bounds in degamma hardware format translation Fixes index out of bounds issue in `cm_helper_translate_curve_to_degamma_hw_format` function. The issue could occur when the index 'i' exceeds the number of transfer function points (TRANSFER_FUNC_POINTS). The fix adds a check to ensure 'i' is within bounds before accessing the transfer function points. If 'i' is out of bounds the function returns false to indicate an error. Reported by smatch: drivers/gpu/drm/amd/amdgpu/../display/dc/dcn10/dcn10_cm_common.c:594 cm_helper_translate_curve_to_degamma_hw_format() error: buffer overflow 'output_tf->tf_pts.red' 1025 <= s32max drivers/gpu/drm/amd/amdgpu/../display/dc/dcn10/dcn10_cm_common.c:595 cm_helper_translate_curve_to_degamma_hw_format() error: buffer overflow 'output_tf->tf_pts.green' 1025 <= s32max drivers/gpu/drm/amd/amdgpu/../display/dc/dcn10/dcn10_cm_common.c:596 cm_helper_translate_curve_to_degamma_hw_format() error: buffer overflow 'output_tf->tf_pts.blue' 1025 <= s32max

Timeline

  1. CVE published
  2. CISA SSVC assessment

    Exploitation: none · Automatable: no · Technical impact: partial

  3. Record last updated

Affected versions

  • Linux Linux

    From 4562236b3bc0a28aeb6ee93b2d8a849a4c4e1c7c · fixed in b3dfa878257a7e98830b3009ca5831a01d8f85fc; From 4562236b3bc0a28aeb6ee93b2d8a849a4c4e1c7c · fixed in f5f6d90087131812c1e4b9d3103f400f1624396d; From 4562236b3bc0a28aeb6ee93b2d8a849a4c4e1c7c · fixed in c130a3c09e3746c1a09ce26c20d21d449d039b1d; From 4562236b3bc0a28aeb6ee93b2d8a849a4c4e1c7c · fixed in c6979719012a90e5b8e3bc31725fbfdd0b9b2b79; From 4562236b3bc0a28aeb6ee93b2d8a849a4c4e1c7c · fixed in 2495c8e272d84685403506833a664fad932e453a; From 4562236b3bc0a28aeb6ee93b2d8a849a4c4e1c7c · fixed in 122e3a7a8c7bcbe3aacddd6103f67f9f36bed473; From 4562236b3bc0a28aeb6ee93b2d8a849a4c4e1c7c · fixed in 2f5da549535be8ccd2ab7c9abac8562ad370b181; From 4562236b3bc0a28aeb6ee93b2d8a849a4c4e1c7c · fixed in 07078fa5d589a7fbce8f81ea8acf7aa0021ab38e; From 4562236b3bc0a28aeb6ee93b2d8a849a4c4e1c7c · fixed in b7e99058eb2e86aabd7a10761e76cae33d22b49f

  • Linux Linux

    4.15

  • KernelLinux

    From 4.15.0 · fixed in 4.19.323; From 4.20.0 · fixed in 5.4.285; From 5.5.0 · fixed in 5.10.227; From 5.11.0 · fixed in 5.15.168; From 5.16.0 · fixed in 6.1.113; From 6.2.0 · fixed in 6.6.55; From 6.7.0 · fixed in 6.10.14; From 6.11.0 · fixed in 6.11.3

References 9

git.kernel.org