🇰🇷 한글 설명
Linux 커널의 drm/dp/mst 구성 요소에서 원격 DPCD 및 I2C 사이드밴드 응답 파서의 경계 외(OOB) 읽기 취약점이 발견되었습니다. 악의적인 MST 허브가 수신된 데이터 길이보다 큰 바이트 수를 요청할 경우, memcpy 과정에서 허용되지 않은 메모리 영역을 읽을 수 있습니다.
💡 쉬운 설명
컴퓨터가 외부 장치로부터 데이터를 받을 때, 데이터의 실제 길이보다 더 많은 양을 읽으려고 시도하여 메모리의 다른 정보를 훔쳐볼 수 있는 문제입니다. 연결된 디스플레이 장치가 조작되었을 경우 발생할 수 있습니다.
🇺🇸 원문 (English)
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]
📍 영향받는 시스템
Linux kernel (drm/dp/mst 모듈을 사용하는 시스템)
⚔️ 공격 벡터
조작된 MST(Multi-Stream Transport) 허브를 통한 악의적인 DPCD/I2C 사이드밴드 응답 전송
🛡️ 대응 방법
Linux 커널을 최신 보안 패치가 적용된 버전으로 업데이트하십시오.
🔧 검증 코드
출력된 커널 버전을 확인하여 해당 취약점이 수정된 패치 버전 이상인지 확인합니다.
💻 영향받는 소프트웨어
NVIDIA vGPU Guest Driver for Linux