🇰🇷 한글 설명
Linux 커널의 vfio/pci 드라이버에서 장치 종료 시 DMABUF를 적절히 정리하지 않아 발생하는 취약점입니다. 장치 기능이 비활성화되기 전에 DMABUF를 먼저 정리하지 않으면, BAR 접근 권한이 사라지기 전 짧은 시간 동안 메모리 자원에 접근할 수 있는 보안 허점이 발생합니다.
💡 쉬운 설명
컴퓨터 부품을 끌 때 사용하던 메모리 통로를 먼저 닫아야 하는데, 통로를 먼저 닫아버려 발생하는 문제입니다. 이 과정에서 틈이 생기면 다른 프로그램이 원래 사용 중이던 메모리 영역을 몰래 훔쳐보거나 가로챌 위험이 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
vfio/pci: Clean up DMABUFs before disabling function
On device shutdown, make vfio_pci_core_close_device() call
vfio_pci_dma_buf_cleanup() before the function is disabled via
vfio_pci_core_disable(). This ensures that all access via DMABUFs is
revoked before the function's BARs become inaccessible.
This fixes an issue where, if the function is disabled first, a tiny
window exists in which the function's MSE is cleared and yet BARs
could still be accessed via the DMABUF. The resources would also be
freed and up for grabs by a different driver.
📍 영향받는 시스템
Linux Kernel (vfio/pci 드라이버를 사용하는 시스템)
⚔️ 공격 벡터
장치 종료 시 발생하는 레이스 컨디션(Race Condition)을 이용한 메모리 자원 탈취
🛡️ 대응 방법
Linux 커널을 최신 보안 패치가 적용된 버전으로 업데이트하십시오.
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 해결된 패치 버전 이후인지 확인하십시오.