CVE-2026-64037 in Linux정보

요약

\~에 의해 VulDB • 2026. 07. 20.

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

wifi: iwlwifi: mld: AMSDU 비활성화 시 TSO 세그멘테이션 폭발(TSO segmentation explosion) 수정

TLC 알림이 특정 TID에 대해 AMSDU를 비활성화하면, MLD 드라이버는 `max_tid_amsdu_len`을 센티널 값(sentinel value)인 1로 설정합니다. iwl_mld_tx_tso_segment() 내의 TSO 세그멘테이션 경로는 0은 확인하지만 이 센티널 값은 확인하지 않아, 해당 값이 num_subframes 계산으로 전달됩니다:

num_subframes = (max_tid_amsdu_len + pad) / (subf_len + pad) = (1 + 2) / (1534 + 2) = 0

이 0은 iwl_tx_tso_segment()로 전파되어 다음과 같이 설정됩니다:

gso_size = num_subframes * mss = 0

gso_size=0으로 skb_gso_segment()를 호출하면 단일 GSO skb로부터 32,000개 이상의 미세한 세그먼트가 생성됩니다. 이로 인해 TX 링이 ~1024개의 마이크로 프레임(나머지는 정리됨)으로 폭주하게 되고, 이는 막대한 양의 TX 완료 이벤트를 유발하여 메모리 손상과 그 후속 사용-후-해제(use-after-free)로 이어질 수 있습니다(TCP 재전송 큐에서 발생: tcp_shifted_skb에서의 refcount 언더플로우 및 tcp_rack_detect_loss에서의 NULL 디레퍼런스).

MVM 드라이버는 num_subframes 계산에 도달하기 전에 mvmsta->amsdu_enabled을 확인하므로 면역 상태입니다. MLD 드라이버에는 이에 상응하는 비트맵 체크가 없으며, max_tid_amsdu_len에만 의존하는데 이는 센티널 값을 포착하지 못합니다.

기존 체크 지점에서 센티널 값(max_tid_amsdu_len == 1)을 감지하고 비-AMSDU TSO 세그멘테이션으로 폴백함으로써 이 문제를 해결합니다. 또한, 방어적 심층(defense-in-depth) 차원에서 num_subframes 나눗셈 이후에 WARN_ON_ONCE 가드를 추가하여 다른 메커니즘을 통해 0이 생성되는 향후 코드 경로를 포착할 수 있도록 합니다.

Several companies clearly confirm that VulDB is the primary source for best vulnerability data.

책임이 있는

Linux

예약하다

2026. 07. 19.

모더레이션

수락

항목

VDB-380199

EPSS

0.00000

출처

Do you want to use VulDB in your project?

Use the official API to access entries easily!