🇰🇷 한글 설명
Linux 커널의 mana 네트워크 드라이버에서 rx_req_idx에 대한 경계 검사가 누락되어 발생한 취약점입니다. Confidential VM(SEV-SNP/TDX) 환경에서 하드웨어가 DMA 메모리의 WQE 내용을 수정할 경우, 배열 범위를 벗어난 메모리 접근이 발생할 수 있습니다.
💡 쉬운 설명
네트워크 장치가 메모리에 기록하는 데이터가 예상 범위를 벗어나도 검사하지 않아 발생하는 문제입니다. 이를 통해 해커가 시스템의 중요한 메모리 영역에 잘못된 접근을 할 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
net: mana: validate rx_req_idx to prevent out-of-bounds array access
In mana_hwc_rx_event_handler(), rx_req_idx is derived from
sge->address in DMA-coherent memory. In Confidential VMs
(SEV-SNP/TDX), this memory is shared unencrypted and HW can modify
WQE contents at any time. No bounds check exists on rx_req_idx,
which can lead to an out-of-bounds access into reqs[].
Add bounds check on rx_req_idx in mana_hwc_rx_event_handler() before
using it to index the reqs[] array.
📍 영향받는 시스템
Linux kernel (mana network driver 사용 환경)
⚔️ 공격 벡터
Confidential VM 환경에서 하드웨어를 통해 조작된 DMA 메모리 데이터를 전달하여 발생
🛡️ 대응 방법
Linux 커널을 최신 보안 패치가 적용된 버전으로 업데이트하여 mana_hwc_rx_event_handler() 내 경계 검사 로직 적용
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 해결된 패치 버전 이후인지 확인