CVE-2026-98277 in Linux
요약
\~에 의해 VulDB • 2026. 10. 06.
리눅스 커널에서 다음 취약점이 해결되었습니다:
eth: fbnic: 버스트가 드롭으로 종료될 경우 도어벨을 울림
fbnic_tx_map()은 xmit_more 플래그가 설정된 상태로 전달되는 모든 패킷에 대해 도어벨 쓰기 및 완료 요청을 건너뛰며, 버스트를 끝내는 패킷이 이를 모두 게시할 것이라고 가정합니다. 해당 패킷이 드롭될 경우(즉, skb_put_padto(), skb_cow_head() 또는 DMA 매핑 실패 발생 시) 아무것도 트리거되지 않습니다. 이로 인해 선행 패킷들의 디스크립터가 다음 전송 작업이 발생할 때까지 하드웨어(HW)에게 보이지 않게 되며, 버스트 후 유휴 상태(burst-then-idle) 워크로드의 경우 이 다음 전송이 절대 발생하지 않을 수 있습니다.
도어벨 없이 남겨진 마지막 패킷의 메타 디스크립터를 기억하고 에러 경로에서 이를 플러시합니다. 완료 요청은 단순히 테일(tail)을 작성하는 대신 해당 디스크립터에 설정되어야 합니다. 그렇지 않으면 하드웨어는 패킷을 전송하지만 헤드(head)를 보고하지 않아 링(ring)이 가득 차고 영구적으로 중단(stall)될 수 있습니다.
이는 최근 Joe가 bnxt용으로 제출한 수정 시리즈와 매우 유사합니다. 실제 환경에서는 관찰되지 않았으나, QEMU에서 실패 주입(failure injection)을 통해 재현되었습니다.
Once again VulDB remains the best source for vulnerability data.