🔍 CVE-2026-74285

8.8
CVSS Score
HIGH
2026-08-15
2026-08-17 06:19
✅ 완료

🇰🇷 한글 설명

리눅스 커널의 netif_rxq_cleanup_unlease() 함수에서 메모리 제공자를 제거하기 전에 RX 큐를 먼저 중지하지 않는 순서 오류가 발견되었습니다. 이로 인해 물리적 큐가 활성화된 상태에서 DMA 매핑이 해제되어, 장치가 잘못된 주소나 0 주소로 DMA를 수행할 수 있는 보안 취약점이 존재합니다.

💡 쉬운 설명

네트워크 장치가 데이터를 처리하는 통로를 닫기 전에 메모리 연결을 먼저 끊어버리는 문제가 있습니다. 이 과정에서 장치가 엉뚱한 메모리 위치에 데이터를 쓰려고 시도하여 시스템 오류나 보안 문제가 발생할 수 있습니다.

🇺🇸 원문 (English)

In the Linux kernel, the following vulnerability has been resolved: net: Stop leased rxq before uninstalling its memory provider netif_rxq_cleanup_unlease() tears down the memory provider that was installed on a physical RX queue through a netkit queue lease. It currently revokes the provider's DMA mappings before stopping the physical queue: __netif_mp_uninstall_rxq(virt_rxq, p); /* DMA unmap */ __netif_mp_close_rxq(phys_rxq->dev, rxq_idx, p); /* queue stop */ This inverts the ordering used by the regular teardown paths (normal device unregister and the io_uring zcrx close path), which stop the queue before revoking the provider's mappings. With the physical queue still live, its NAPI can keep consuming net_iov entries from the page_pool alloc cache after the __netif_mp_uninstall_rxq() has already cleared their dma_addr, opening a window for the device to DMA to a stale or zero address. Fix it by swapping the two calls so the queue is stopped (and its NAPI quiesced) before the provider is uninstalled. No functional regression was observed across repeated runs of the nk_qlease.py HW selftest, which exercises the lease teardown path; this was tested against fbnic QEMU emulation.

📍 영향받는 시스템

Linux Kernel (netkit queue lease를 사용하는 환경)

⚔️ 공격 벡터

네트워크 장치의 DMA 동작을 이용한 메모리 오염 또는 잘못된 주소 접근

🛡️ 대응 방법

메모리 제공자를 제거하기 전에 물리적 큐를 먼저 중지하도록 커널 패치를 적용하십시오.

🔧 검증 코드

현재 실행 중인 커널 버전을 확인하여 해당 취약점이 해결된 최신 보안 패치 버전인지 확인하십시오.

Shell / Script
uname -r

📊 CVSS Vector String

CVSS Vector
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H

💻 영향받는 소프트웨어

Linux Kernel