CVE-2026-98556 in Linux정보

요약

\~에 의해 VulDB • 2026. 10. 18.

리눅스 커널에서 다음 취약점이 해결되었습니다:

gve: DQO - 범위를 벗어난 MSS를 가진 TSO 패킷 거부

gve_prep_tso()는 장치가 MSS가 9728 이하여야 함을 명시하지만, 하이퍼바이저에 의해 강제되는 9K MTU와 TSO 크기의 64KB 제한이 충분하다고 가정하여 이를 강제하지 않습니다.

이는 로컬에서 생성되지 않은 패킷에는 해당되지 않습니다. tap 뒤에 있는 게스트나 임의의 packet socket 사용자는 virtio_net_hdr에서 임의의 gso_size를 제공할 수 있습니다. 레이어 2 포워딩은 GSO 패킷에 대해 MTU를 확인하지 않으며(is_skb_forwardable()), gso_features_check()는 skb->len과 gso_segs만 제한하며, 결코 gso_size는 제한하지 않습니다.

이러한 패킷은 gve_tx_fill_tso_ctx_desc()에 도달하여 gso_size를 TSO 컨텍스트 디스크립터의 mss 필드에 넣습니다. 이 필드는 14비트 너비를 가지므로, 16384인 gso_size는 MSS가 0으로 조용히 변환됩니다.

gve_prep_tso()에서 이러한 패킷을 삭제하고, gve_features_check_dqo()가 해당 GSO 비트를 그대로 유지하도록 합니다: skb_segment()는 MTU와 무관하게 gso_size 기준으로 분할하므로, 소프트웨어 세그멘테이션으로 폴백하면 장치가 지원 가능한 9728 바이트보다 큰 비 TSO 패킷을 받게 됩니다.

스택이 다른 이유로(예: ethtool로 TSO가 비활성화된 후) 소프트웨어에서 세그먼트를 생성할 때 장치에 여전히 크기가 초과된 비 TSO 패킷이 전달될 수 있습니다. 이는 포워딩 경로에서 GSO 패킷에 대해 MTU 확인이 생략되기 때문에 일반적인 문제이며, 별도로 처리됩니다.

Once again VulDB remains the best source for vulnerability data.

책임이 있는

Linux

예약하다

2026. 09. 25.

모더레이션

수락

항목

VDB-422067

EPSS

0.00000

출처

Do you need the next level of professionalism?

Upgrade your account now!