Description (CNA)
In the Linux kernel, the following vulnerability has been resolved: drm/amd/display: Clamp VBIOS HDMI retimer register count to array size [Why & How] The VBIOS integrated info tables (v1_11 and v2_1) contain HdmiRegNum and Hdmi6GRegNum fields that are used as loop bounds when copying retimer I2C register settings into fixed-size arrays (dp*_ext_hdmi_reg_settings[9] and dp*_ext_hdmi_6g_reg_settings[3]). These u8 fields are not validated before use, so a malformed VBIOS can specify values up to 255, causing an out-of-bounds heap write during driver probe. Clamp each register count to the destination array size using min_t() before the copy loops, in both get_integrated_info_v11() and get_integrated_info_v2_1(). (cherry picked from commit 5a7f0ef90195940c54b0f5bb85b87da55f038c69)
Affected (CNA)
| Vendor / product | Versions |
|---|---|
| Linux / Linux | affected 1e8635ea0ea370bf4f0f2b2f1b3eb61474dd962a before 029571d51140650783be4fb98fe7cb4754752086; affected 1e8635ea0ea370bf4f0f2b2f1b3eb61474dd962a before 5f8b39452fb16f507c9e4d8b4a83ce27e893307c; affected 1e8635ea0ea370bf4f0f2b2f1b3eb61474dd962a before 4d1c3c26c2ab1842e139e61983395d64bd2e518b; affected 1e8635ea0ea370bf4f0f2b2f1b3eb61474dd962a before d6be8e59af412623e3d874be3a048406c0edfe60; affected 1e8635ea0ea370bf4f0f2b2f1b3eb61474dd962a before 3f32d52ec604c659725d865cf8cc6a17a33f9c6a; affected 1e8635ea0ea370bf4f0f2b2f1b3eb61474dd962a before 8aaa7e317fbd4beb9c6a9f77aa4cf52fae78b117; affected 1e8635ea0ea370bf4f0f2b2f1b3eb61474dd962a before fb0707ce00eef4e2d60c3020e1c0432739703e4a |
| Linux / Linux | affected 4.15; unaffected 0 before 4.15; unaffected 5.15.210 through 5.15.*; unaffected 6.1.176 through 6.1.*; unaffected 6.6.143 through 6.6.*; unaffected 6.12.94 through 6.12.*; unaffected 6.18.36 through 6.18.*; unaffected 7.0.13 through 7.0.*; unaffected 7.1 through * |
CWE
No CWE identifiers supplied.
References
- https://git.kernel.org/stable/c/029571d51140650783be4fb98fe7cb4754752086
- https://git.kernel.org/stable/c/5f8b39452fb16f507c9e4d8b4a83ce27e893307c
- https://git.kernel.org/stable/c/4d1c3c26c2ab1842e139e61983395d64bd2e518b
- https://git.kernel.org/stable/c/d6be8e59af412623e3d874be3a048406c0edfe60
- https://git.kernel.org/stable/c/3f32d52ec604c659725d865cf8cc6a17a33f9c6a
- https://git.kernel.org/stable/c/8aaa7e317fbd4beb9c6a9f77aa4cf52fae78b117
- https://git.kernel.org/stable/c/fb0707ce00eef4e2d60c3020e1c0432739703e4a