CVE-2024-56616

drm/dp_mst: Fix MST sideband message body length check

published December 27, 2024

CVSS
—
EPSS
0%
Percentile
11.3
In the wild
Unconfirmed
What it is

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

drm/dp_mst: Fix MST sideband message body length check

Fix the MST sideband message body length check, which must be at least 1

byte accounting for the message body CRC (aka message data CRC) at the

end of the message.

This fixes a case where an MST branch device returns a header with a

correct header CRC (indicating a correctly received body length), with

the body length being incorrectly set to 0. This will later lead to a

memory corruption in drm_dp_sideband_append_payload() and the following

errors in dmesg:

UBSAN: array-index-out-of-bounds in drivers/gpu/drm/display/drm_dp_mst_topology.c:786:25

index -1 is out of range for type 'u8 [48]'

Call Trace:

drm_dp_sideband_append_payload+0x33d/0x350 [drm_display_helper]

drm_dp_get_one_sb_msg+0x3ce/0x5f0 [drm_display_helper]

drm_dp_mst_hpd_irq_handle_event+0xc8/0x1580 [drm_display_helper]

memcpy: detected field-spanning write (size 18446744073709551615) of single field "&msg->msg[msg->curlen]" at drivers/gpu/drm/display/drm_dp_mst_topology.c:791 (size 256)

Call Trace:

drm_dp_sideband_append_payload+0x324/0x350 [drm_display_helper]

drm_dp_get_one_sb_msg+0x3ce/0x5f0 [drm_display_helper]

drm_dp_mst_hpd_irq_handle_event+0xc8/0x1580 [drm_display_helper]

The record
Technical detail
CVSS
Not scored
CVSS v4.0
Not supplied
EPSS
0.00215 · 11.3th percentile
Published
2024-12-27T14:51Z
EPSS history
Timeline
  • 27 DEC 14:51Z
    drm/dp_mst: Fix MST sideband message body length check
    cvelistv5