🇰🇷 한글 설명
Linux 커널의 Intel Xe DRM 드라이버에서 OA(Observation Architecture) 버퍼가 할당 시 0으로 초기화되지 않는 문제가 수정되었습니다. 해당 버퍼는 사용자 공간에서 mmap으로 접근 가능하므로, 이전에 해제된 페이지의 커널 메모리 잔여 데이터가 노출될 수 있었습니다. OA_DISABLED 속성으로 열린 스트림에서 할당 시점에 버퍼를 0으로 초기화하도록 수정되었습니다.
💡 쉬운 설명
컴퓨터 내부에서 이전에 쓰이고 버려진 메모리의 옛날 데이터가 일반 프로그램에서 볼 수 있게 노출될 수 있는 문제였습니다. 이제 메모리를 할당할 때 깨끗이 지워서 이런 정보 유출을 막습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
drm/xe/oa: Zero OA buffer at allocation
ttm_bo_type_kernel BOs are not guaranteed to be zeroed on allocation and
may contain data from previously freed pages. Since the OA buffer is
mmap'able by userspace, this can expose stale kernel memory contents.
Streams opened with DRM_XE_OA_PROPERTY_OA_DISABLED allocate the OA
buffer without calling xe_oa_init_oa_buffer(). Zero the buffer at
allocation to prevent information disclosure through mmap.
The existing zeroing in xe_oa_init_oa_buffer() remains necessary for
zero report-id/timestamp detection on enable/re-enable.
(cherry picked from commit 126c4c5388f9311a390b9b254a835b0cf0f55331)
📍 영향받는 시스템
수정 이전의 Linux 커널 (Intel Xe 그래픽 드라이버를 사용하는 시스템)
⚔️ 공격 벡터
로컬 사용자 권한의 프로그램이 OA 버퍼를 mmap으로 매핑하여 이전에 해제된 커널 메모리 내용을 읽음
🛡️ 대응 방법
패치가 포함된 최신 Linux 커널 버전으로 업데이트
🔧 검증 코드
출력된 커널 버전을 배포판의 보안 권고나 커널 변경 로그와 대조하여 해당 패치가 포함되었는지 확인하고, 필요하면 lsmod | grep xe 로 xe 드라이버 사용 여부도 확인합니다.