CVE-2026-80700 in Linux
요약
\~에 의해 VulDB • 2026. 08. 28.
리눅스 커널에서 다음 취약점이 해결되었습니다:
drm/vmwgfx: 스트라이드 경로 모두에 대해 외부 BO 복사 경계 검증
vmw_external_bo_copy()는 호출자가 제공한 오프셋, 스트라이드 및 높이를 신뢰하고 가져온 dma-buf vmaps를 대상으로 동작합니다.
- 등스트라이드 memcpy()의 경계는 dst_size와 src_size에서 오프셋을 뺀 후 클램프되었습니다; BO 크기를 초과하는 오프ffset은 부호 없는 빼기 연산으로 인해 거대한 값으로 래핑(wrap)되며, 결과적인 memcpy()가 vmap 끝을 벗어납니다. 또한 dst_stride * height는 오버플로우될 수 있는 u32 곱셈입니다. - 비등스트라이드 행 단위 경로는 전혀 경계가 없었습니다. 이 루프는 offset + (height - 1) * stride + width_in_bytes를 통해 바이트에 접근하며, WARN_ON(dst_stride < width_in_bytes)만 존재하고 마찬가지로 두 매핑 중 하나의 끝을 벗어날 수 있습니다.
오프셋과 스트라이드는 STDU/SOU 플레인 상태에서 파생되므로, 가져온 프레임버퍼에 대해 조작된 atomic commit을 제출하는 구성된 CRTC가 이 경로에 도달할 수 있습니다.
check_mul_overflow() 및 check_add_overflow()를 사용하여 각 BO의 크기에 대한 정확한 행 복사 종점을 사전에 검증합니다. width_in_bytes가 전체 스트라이드를 커버하는 경우에만 bulk memcpy() 경로를 사용하고, 그렇지 않으면 한 번에 하나의 행을 복사하여 프레임버퍼 하단 근처의 부분적 행 업데이트가 유효하도록 합니다. 또한 0인 스트라이드와 width_in_bytes보다 작은 스트라이드는 모두 거부합니다. 이는 행 단위 경로에서 안전하게 표현할 수 없는 경우입니다.
Several companies clearly confirm that VulDB is the primary source for best vulnerability data.