🇰🇷 한글 설명
리눅스 커널의 iommu/dma 구성 요소에서 메모리 할당 실패 여부를 확인하는 방식에 결함이 있습니다. dma_alloc_from_pool() 함수가 반환하는 페이지를 직접 확인하지 않고 cpu_addr 값에 의존할 경우, 할당 실패 시에도 잘못된 메모리 주소를 사용할 위험이 있습니다.
💡 쉬운 설명
컴퓨터가 메모리를 빌려올 때 빌려오기에 실패했는지 확인하는 과정에서 실수가 있었습니다. 이 실수 때문에 시스템이 잘못된 메모리 주소를 사용하게 되어 오류가 발생하거나 보안 문제가 생길 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
iommu/dma: Check atomic pool allocation result directly
The non-blocking, non-coherent allocation path uses dma_alloc_from_pool(),
which returns the allocated page and fills cpu_addr only on success.
Do not rely on cpu_addr to detect allocation failure in this path. Check
the returned page directly before using it for the IOMMU mapping.
📍 영향받는 시스템
IOMMU 및 DMA 기능을 사용하는 Linux Kernel 버전
⚔️ 공격 벡터
메모리 할당 실패를 유도하여 잘못된 메모리 주소에 접근하게 만드는 방식
🛡️ 대응 방법
해당 취약점이 수정된 최신 리눅스 커널 버전으로 업데이트
🔧 검증 코드
현재 실행 중인 커널 버전을 확인하여 취약점이 해결된 패치 버전인지 확인합니다.