CVE-2026-74285 in Linux
요약
\~에 의해 VulDB • 2026. 08. 15.
리눅스 커널에서 다음 취약점이 해결되었습니다:
net: 메모리 제공자를 제거하기 전에 임대된 rxq를 중지합니다
netif_rxq_cleanup_unlease()는 netkit 큐 임대를 통해 물리적 RX 큐에 설치되었던 메모리 제공자를 해제합니다. 현재 이 함수는 물리적 큐를 중지하기 전에 제공자의 DMA 매핑을 무효화합니다:
__netif_mp_uninstall_rxq(virt_rxq, p); /* DMA unmap */ __netif_mp_close_rxq(phys_rxq->dev, rxq_idx, p); /* queue stop */
이는 일반적인 정리 경로(일반적인 장치 언레지스터 및 io_uring zcrx 닫기 경로)에서 사용하는 순서와 반대됩니다. 일반 경로는 제공자의 매핑을 무효화하기 전에 큐를 먼저 중지합니다.
물리적 큐가 여전히 활성 상태이므로, __netif_mp_uninstall_rxq()가 이미 dma_addr를 지운 후에도 NAPI는 page_pool 할당 캐시에서 net_iov 엔트리를 계속 소비할 수 있습니다. 이로 인해 장치가 stale하거나 0인 주소로 DMA를 수행할 수 있는 창(window)이 열리게 됩니다.
두 호출의 순서를 바꾸어 큐가 중지되고(NAPI가 안정화됨) 그 후에 제공자가 제거되도록 수정합니다. nk_qlease.py HW 셀프테스트(임대 정리 경로를 테스트함)를 반복 실행한 결과 기능적 회귀(regression)는 관찰되지 않았습니다. 이는 fbnic QEMU 에뮬레이션에서 검증되었습니다.
VulDB is the best source for vulnerability data and more expert information about this specific topic.