🇰🇷 한글 설명
Linux 커널의 mt76 드라이버(mt7996)에서 칩 전체 리셋 시 이전 링크 상태가 제대로 초기화되지 않는 취약점이 발견되었습니다. 이로 인해 리셋 후 네트워크 인터페이스가 정상적으로 재설정되지 않아 장치가 작동 불능 상태가 되며, 반복적인 리셋 시 MLD 인덱스 자원이 고갈되는 메모리 누수 문제가 발생합니다.
💡 쉬운 설명
와이파이 칩을 재시작할 때 이전의 연결 정보가 찌꺼기처럼 남아 있어, 재시작 후 와이파이가 제대로 작동하지 않게 됩니다. 또한 이 과정이 반복되면 시스템 자원을 계속 잡아먹어 결국 와이파이 기능을 사용할 수 없게 만듭니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
wifi: mt76: mt7996: clear stale link state on full reset
After a full chip reset, mac80211 reconfig replays interface, link and
channel context setup. mt7996_vif_link_add() short-circuits when the
link_id is still marked in mvif->valid_links, a state introduced for
postponing link teardown to interface removal. The reset path frees the
link structures without clearing those bits, so the replayed setup never
re-creates dev_info/bss_info/STA records in the restarted firmware and
never re-registers the link wcid, leaving the device inoperative.
The reset path also leaks every allocated MLD index: per-link indices
and the per-vif group/remap indices are re-allocated from scratch during
reconfig, but the old bits stay set in the masks, so repeated full
resets exhaust the index space.
Clear valid_links in the reset vif iterator and reset the MLD index
masks alongside the existing omac_mask clearing.
📍 영향받는 시스템
Linux kernel (mt76/mt7996 driver module)
⚔️ 공격 벡터
로컬 시스템에서 하드웨어 리셋을 유도하거나 드라이버의 리셋 경로를 반복 실행하여 서비스 거부(DoS) 유발
🛡️ 대응 방법
Linux 커널을 최신 패치가 적용된 버전으로 업데이트하여 mt7996 드라이버의 valid_links 및 MLD 인덱스 마스크 초기화 로직을 적용해야 함
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 수정된 패치 버전 이후인지 확인