🇰🇷 한글 설명
Linux 커널의 mt76 Wi-Fi 드라이버에서 mt76_connac_mcu_alloc_sta_req() 함수 호출 시 메모리 누수가 발생하는 취약점입니다. 특정 함수에서 오류가 발생할 경우 할당된 skb(소켓 버퍼)가 해제되지 않고 남게 되어 시스템 자원을 소모합니다.
💡 쉬운 설명
Wi-Fi를 사용하는 과정에서 컴퓨터의 메모리를 사용한 뒤, 오류가 나면 이를 제대로 돌려주지 않고 계속 쌓아두는 문제입니다. 이 문제가 반복되면 컴퓨터의 메모리가 부족해져 시스템이 느려지거나 멈출 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
wifi: mt76: Fix memory leak after mt76_connac_mcu_alloc_sta_req()
mt76_connac_mcu_alloc_sta_req() allocates an skb which is expected to
be freed eventually by mt76_mcu_skb_send_msg(). However, currently if
an intermediate function fails before sending, the allocated skb is
leaked.
Specifically, mt76_connac_mcu_sta_wed_update() and
mt76_connac_mcu_sta_key_tlv() may fail, leading to an immediate memory
leak in the error path.
Fix this by explicitly freeing the skb in these error paths.
Commit 7c0f63fe37a5 ("wifi: mt76: mt7996: fix memory leak on
mt7996_mcu_sta_key_tlv error") made a similar change.
Compile tested only. Issue found using a prototype static analysis tool
and code review.
📍 영향받는 시스템
Linux kernel (mt76 Wi-Fi driver 사용 시스템)
⚔️ 공격 벡터
특정 네트워크 조건이나 조작된 패킷을 통해 드라이버 내 오류 경로를 유도하여 메모리 누수 발생
🛡️ 대응 방법
Linux 커널을 최신 버전으로 업데이트하여 mt76 드라이버의 메모리 해제 로직이 수정된 패치를 적용하십시오.
🔧 검증 코드
현재 실행 중인 커널 버전과 mt76 모듈 정보를 확인하여 패치 적용 여부를 검토하십시오.
uname -r && modinfo mt76 2>/dev/null