🔍 CVE-2026-64590

0.0
CVSS Score
UNKNOWN
2026-08-06
2026-08-23 13:16
✅ 완료

🇰🇷 한글 설명

Linux 커널의 dma-buf/udmabuf 구성 요소에서 CONFIG_DMA_API_DEBUG_SG가 활성화된 경우, 중복된 CPU 동기화로 인해 잘못된 캐시라인 EEXIST 경고가 발생하는 취약점입니다. udmabuf가 동일한 페이지를 매핑할 때 DMA 디버그 인프라가 이를 중복 매핑으로 오인하여 경고를 발생시키는 문제입니다. 이를 해결하기 위해 DMA_ATTR_SKIP_CPU_SYNC 플래그를 사용하여 불필요한 동기화를 건너뛰도록 수정되었습니다.

💡 쉬운 설명

컴퓨터의 메모리를 관리하는 과정에서 시스템이 실수로 '데이터가 겹쳐 있다'는 잘못된 경고를 내보내는 버그입니다. 실제 보안 위협이라기보다는 시스템 로그에 불필요한 오류 메시지가 남는 현상을 해결한 것입니다.

🇺🇸 원문 (English)

In the Linux kernel, the following vulnerability has been resolved: dma-buf/udmabuf: skip redundant cpu sync to fix cacheline EEXIST warning When CONFIG_DMA_API_DEBUG_SG is enabled, importing a udmabuf into a DRM driver (e.g. amdgpu for video playback in GNOME Videos / Showtime) triggers a spurious warning: DMA-API: amdgpu 0000:03:00.0: cacheline tracking EEXIST, \ overlapping mappings aren't supported WARNING: kernel/dma/debug.c:619 at add_dma_entry+0x473/0x5f0 The call chain is: amdgpu_cs_ioctl -> amdgpu_ttm_backend_bind -> dma_buf_map_attachment -> [udmabuf] map_udmabuf -> get_sg_table -> dma_map_sgtable(dev, sg, direction, 0) // attrs=0 -> debug_dma_map_sg -> add_dma_entry -> EEXIST This happens because udmabuf builds a per-page scatter-gather list via sg_set_folio(). When begin_cpu_udmabuf() has already created an sg table mapped for the misc device, and an importer such as amdgpu maps the same pages for its own device via map_udmabuf(), the DMA debug infrastructure sees two active mappings whose physical addresses share cacheline boundaries and warns about the overlap. The DMA_ATTR_SKIP_CPU_SYNC flag suppresses this check in add_dma_entry() because it signals that no CPU cache maintenance is performed at map/unmap time, making the cacheline overlap harmless. All other major dma-buf exporters already pass this flag: - drm_gem_map_dma_buf() passes DMA_ATTR_SKIP_CPU_SYNC - amdgpu_dma_buf_map() passes DMA_ATTR_SKIP_CPU_SYNC The CPU sync at map/unmap time is also redundant for udmabuf: begin_cpu_udmabuf() and end_cpu_udmabuf() already perform explicit cache synchronization via dma_sync_sgtable_for_cpu/device() when CPU access is requested through the dma-buf interface. Pass DMA_ATTR_SKIP_CPU_SYNC to dma_map_sgtable() and dma_unmap_sgtable() in udmabuf to suppress the spurious warning and skip the redundant sync.

📍 영향받는 시스템

Linux kernel (CONFIG_DMA_API_DEBUG_SG가 활성화된 환경)

⚔️ 공격 벡터

직접적인 공격 벡터 없음 (시스템 로그에 잘못된 경고를 발생시키는 로직 결함)

🛡️ 대응 방법

Linux 커널을 최신 패치가 적용된 버전으로 업데이트하십시오.

🔧 검증 코드

출력된 커널 버전이 해당 패치가 포함된 최신 릴리스 버전인지 확인하십시오.

Shell / Script
uname -r

💻 영향받는 소프트웨어

Linux Kernel