Description
In the Linux kernel, the following vulnerability has been resolved: drm/amd/display: Clamp HDMI HDCP2 rx_id_list read to buffer size [Why & How] During HDCP 2.x repeater authentication over HDMI, the driver reads the sink's RxStatus register and extracts a 10-bit message size field (max value 1023). This value is used as the read length for the ReceiverID list without being clamped to the size of the destination buffer rx_id_list[177]. A malicious HDMI repeater could advertise a message size larger than the buffer, causing an out-of-bounds write during the I2C read. Clamp the read length in mod_hdcp_read_rx_id_list() to the size of the rx_id_list buffer, matching the approach already used in the DP branch. (cherry picked from commit 229212219e4247d9486f8ba41ef087358490be09)
Affected products
- Linux / Linuxeff682f83c9c2030761e7536c5d97e1b20f71c15 – 3c4444aec06c74fbc05661f370954ac814963c38
- Linux / Linuxeff682f83c9c2030761e7536c5d97e1b20f71c15 – 91fb41218c413989d8b6c837748751454b452d68
- Linux / Linuxeff682f83c9c2030761e7536c5d97e1b20f71c15 – 964e50ef7b8f09815a7d05b8326af700f8d5bc96
- Linux / Linuxeff682f83c9c2030761e7536c5d97e1b20f71c15 – 79e0273272a05fb26f9b1e55bf1a52eefc3b7b35
- Linux / Linuxeff682f83c9c2030761e7536c5d97e1b20f71c15 – bfba882cfcd08f6540f72f48e786b6404f5d2c5b
- Linux / Linuxeff682f83c9c2030761e7536c5d97e1b20f71c15 – 1906064d50d194a145486e5caf3db3e708b6f6ef
- Linux / Linuxeff682f83c9c2030761e7536c5d97e1b20f71c15 – 98cfb7530ea91d8e5e928285cdce58e1131f6e83
- Linux / Linuxeff682f83c9c2030761e7536c5d97e1b20f71c15 – f0f3981c43b32cadfe373d636d9e9ca522bb3702
- Linux / Linux5.6 – 5.6
- Linux / Linux0 – 5.6
- Linux / Linux5.10.259 – 5.10.*
- Linux / Linux5.15.210 – 5.15.*
- Linux / Linux6.1.176 – 6.1.*
- Linux / Linux6.6.143 – 6.6.*
- Linux / Linux6.12.94 – 6.12.*
- Linux / Linux6.18.36 – 6.18.*
- Linux / Linux7.0.13 – 7.0.*
- Linux / Linux7.1 – *
References
- MISChttps://git.kernel.org/stable/c/3c4444aec06c74fbc05661f370954ac814963c38
- MISChttps://git.kernel.org/stable/c/91fb41218c413989d8b6c837748751454b452d68
- MISChttps://git.kernel.org/stable/c/964e50ef7b8f09815a7d05b8326af700f8d5bc96
- MISChttps://git.kernel.org/stable/c/79e0273272a05fb26f9b1e55bf1a52eefc3b7b35
- MISChttps://git.kernel.org/stable/c/bfba882cfcd08f6540f72f48e786b6404f5d2c5b
- MISChttps://git.kernel.org/stable/c/1906064d50d194a145486e5caf3db3e708b6f6ef
- MISChttps://git.kernel.org/stable/c/98cfb7530ea91d8e5e928285cdce58e1131f6e83
- MISChttps://git.kernel.org/stable/c/f0f3981c43b32cadfe373d636d9e9ca522bb3702