CVE-2022-49218

drm/dp: Fix OOB read when handling Post Cursor2 register

High · published February 26, 2025

CVSS v3.1
7.1
EPSS
0%
Percentile
14.4
In the wild
Unconfirmed
What it is

In the Linux kernel, the following vulnerability has been resolved:

drm/dp: Fix OOB read when handling Post Cursor2 register

The link_status array was not large enough to read the Adjust Request

Post Cursor2 register, so remove the common helper function to avoid

an OOB read, found with a -Warray-bounds build:

drivers/gpu/drm/drm_dp_helper.c: In function 'drm_dp_get_adjust_request_post_cursor':

drivers/gpu/drm/drm_dp_helper.c:59:27: error: array subscript 10 is outside array bounds of 'const u8[6]' {aka 'const unsigned char[6]'} [-Werror=array-bounds]

59 | return link_status[r - DP_LANE0_1_STATUS];

| ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~

drivers/gpu/drm/drm_dp_helper.c:147:51: note: while referencing 'link_status'

147 | u8 drm_dp_get_adjust_request_post_cursor(const u8 link_status[DP_LINK_STATUS_SIZE],

| ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Replace the only user of the helper with an open-coded fetch and decode,

similar to drivers/gpu/drm/amd/display/dc/core/dc_link_dp.c.

The record
Technical detail
CVSS v3.1
7.1 · HIGH
Vector
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:H
CVSS v4.0
Not supplied
EPSS
0.00241 · 14.4th percentile
Published
2025-02-26T01:55Z
EPSS history
Timeline
  • 26 FEB 01:55Z
    drm/dp: Fix OOB read when handling Post Cursor2 register
    cvelistv5