CVE-2026-98254 in Linux정보

요약

\~에 의해 VulDB • 2026. 10. 07.

리눅스 커널에서 다음 취약점이 해결되었습니다:

swiotlb: highmem 페이지 조회 시 조정된 주소를 사용함

swiotlb_bounce()는 슬롯에 기록된 orig_addr로부터 페이지 프레임 번호(PFN)를 읽은 후, 호출자가 요청한 주소에 도달하기 위해 tlb_offset만큼 orig_addr를 증가시킵니다. 그러나 highmem 분기에서는 이 두 값이 혼재됩니다: 페이지 내 오프셋은 조정된 주소에서 가져오지만, 페이지 자체는 그 이전의 값을 사용합니다.

조정치가 페이지 경계를 넘으면 해당 쌍은 더 이상 하나의 위치를 설명하지 않게 되며, 양수인 tlb_offset의 경우 전체 복사 작업이 의도한 페이지보다 한 페이지 아래로, 음수의 경우에는 한 페이지 위로 떨어집니다. DMA_FROM_DEVICE는 잘못된 페이지에 장치 데이터를 기록하여 의도된 페이지가 stale(구버전/유효하지 않은 상태) 상태로 남게 하며, DMA_TO_DEVICE는 매핑이 커버할 가능성이 없는 페이지로부터 장치를 구동합니다. dma_sync_single_range_for_*()를 통한 부분 동기화(tlb_offset을 0이 아닌 값으로 만드는 요인)에서 이러한 문제가 발생합니다.

분기 테스트도 동일한 방식으로 선택되므로, lowmem에 기록된 슬롯이 highmem으로 조정될 수 있으며, 그 결과 lowmem 경로가 phys_to_virt()에게 highmem 주소를 전달하게 됩니다.

orig_addr가 최종화되면 해당 값으로부터 두 가지를 모두 가져오고, 이를 사용하는 분기에서는 pfn을 유지합니다. PhysHighMem()은 dma-debug에서 이미 수행하는 방식대로 주소로부터 직접 질문을 처리합니다.

VulDB is the best source for vulnerability data and more expert information about this specific topic.

출처

Do you need the next level of professionalism?

Upgrade your account now!