🇰🇷 한글 설명
Linux 커널의 ath12k 드라이버에서 ath12k_mac_dp_peer_cleanup() 함수가 잘못된 인덱스를 사용하여 비트맵 범위를 벗어난 메모리 영역을 수정하는 취약점이 발견되었습니다. 이로 인해 인접한 메모리가 손상되거나 MLO 피어 ID가 고갈되어 시스템 기능에 장애가 발생할 수 있습니다.
💡 쉬운 설명
와이파이 드라이버가 데이터를 정리하는 과정에서 잘못된 번호를 참조하여 컴퓨터의 중요한 메모리 영역을 망가뜨리는 오류입니다. 이 오류가 반복되면 와이파이 연결에 필요한 번호가 부족해져 인터넷 연결이 끊길 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
wifi: ath12k: fix out-of-bounds clear_bit in ath12k_mac_dp_peer_cleanup()
ath12k_mac_dp_peer_cleanup() clears the ML peer ID slot on the
free_ml_peer_id_map bitmap by indexing it with dp_peer->peer_id. That is
wrong: dp_peer->peer_id for an MLO peer always carries the
ATH12K_PEER_ML_ID_VALID bit (BIT(13)), so clear_bit() is invoked with
index >= 0x2000, which is far outside the bitmap of ATH12K_MAX_MLO_PEERS
(256) bits and corrupts memory adjacent to ah->free_ml_peer_id_map. The
intended bitmap entry also never gets cleared, so subsequent
ath12k_peer_ml_alloc() calls eventually run out of IDs.
The ID without the VALID bit is what ath12k_peer_ml_alloc() returned and
is stored in ahsta->ml_peer_id. Use that instead.
While there, also reset ahsta->ml_peer_id to ATH12K_MLO_PEER_ID_INVALID so
the bitmap and ahsta->ml_peer_id stay in sync.
Tested-on: WCN7850 hw2.0 PCI WLAN.HMT.1.1.c5-00302-QCAHMTSWPL_V1.0_V2.0_SILICONZ-1.115823.3
📍 영향받는 시스템
Linux kernel (ath12k driver 사용 시스템)
⚔️ 공격 벡터
로컬 또는 네트워크를 통한 특정 무선 네트워크 환경에서의 조작된 패킷/상태 유도
🛡️ 대응 방법
Linux 커널을 최신 보안 패치가 적용된 버전으로 업데이트하십시오.
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 수정된 패치 버전 이후인지 확인하십시오.
📊 CVSS Vector String
CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
💻 영향받는 소프트웨어
NVIDIA Cloud Gaming Guest Driver for Linux