In the Linux kernel, the following vulnerability has been resolved: drm/dp/mst: fix OOB reads in...
🔗 CVE IDs covered (1)
📋 Description
In the Linux kernel, the following vulnerability has been resolved:
drm/dp/mst: fix OOB reads in remote DPCD/I2C sideband reply parsers
drm_dp_sideband_parse_remote_dpcd_read() reads num_bytes from the raw message and then unconditionally does:
memcpy(bytes, &raw->msg[idx], num_bytes);
without checking that idx + num_bytes <= raw->curlen. raw->msg[] is 256 bytes; if a malicious or misbehaving MST hub sets num_bytes larger than the remaining payload, the memcpy reads past the received data into whatever follows in raw->msg[].
drm_dp_sideband_parse_remote_i2c_read_ack() has the same flaw (noted with a /* TODO check */ comment since the code was introduced).
Fix both functions by using a single combined check (idx + num_bytes > curlen) before each memcpy. Since num_bytes is u8, it is always >= 0, so this strictly subsumes the simpler idx > curlen form and no separate step is needed.
[added missing fixes tag]
🔗 References (8)
- https://nvd.nist.gov/vuln/detail/CVE-2026-68279
- https://git.kernel.org/stable/c/04d953f50d61e542e94a5977822cc53735f8c0ce
- https://git.kernel.org/stable/c/1a8f537f5a1eeac941f262fe73078d6b08ba83c0
- https://git.kernel.org/stable/c/22d9f7fc1aaabaf73d5f30e8b0c9aa814ecd6ed2
- https://git.kernel.org/stable/c/533d9e2bede4aeefdc2a0561d7071cfede95958f
- https://git.kernel.org/stable/c/e6ef5455b06cb4e5d181aabcd723791587c79f12
- https://git.kernel.org/stable/c/c2fbda0fe0163c55ba3820ee6cea0c6b43622eda
- https://github.com/advisories/GHSA-p23r-m2g4-23pq