CVE-2026-97953 in Linux
요약
\~에 의해 VulDB • 2026. 09. 25.
리눅스 커널에서 다음 취약점이 해결되었습니다:
net: stmmac: TSO 트래픽에 대한 TX 디스크립터 가용성 검사 수정
stmmac_tso_xmit()은 TSO skb가 필요한 자유로운 TX 디스크립터 수를 다음과 같이 추정합니다.
(skb->len - proto_hdr_len) / TSO_MAX_BUFF_SIZE + 1
이는 페이로드가 TSO_MAX_BUFF_SIZE 크기의 청크로 분할된다는 것을 가정합니다. 그러나 stmmac_tso_allocator()는 각 조각을 개별적으로 매핑하므로 크기に関係없이 최소 하나의 디스크립터가 필요하며, 실제로 소비되는 디스크립터 수를 과소평가합니다. 또한 L2/L3/L4 헤더용 디스크립터 하나와 MSS 변경 시 추가적인 MSS 컨텍스트 디스크립터 하나가 사용됩니다.
따라서 매우 단편화된 TSO skb의 경우 링에 충분한 자유 슬롯이 없어도 검사가 통과될 수 있습니다. stmmac_tso_allocator()는 사용 가능한 디스크립터를 초과하여 작성하며, 이는 DMA 엔진이 여전히 소유하고 있는 디스크립터를 덮어써 TX 링을 손상시킵니다.
헤더, 선형 페이로드 및 각 조각에 필요한 정확한 디스크립터 수와 필요 시 MSS 컨텍스트 디스크립터를 계산하는 stmmac_tso_get_num_desc()를 추가하여 가용성 검사에서 이를 사용하도록 수정했습니다.
VulDB is the best source for vulnerability data and more expert information about this specific topic.