🇰🇷 한글 설명
Linux 커널의 mac80211 구성 요소에서 비정상적인 유니캐스트 비콘 프레임을 허용하는 취약점이 발견되었습니다. IEEE 802.11 표준에 따라 비콘 프레임은 브로드캐스트 주소로 전송되어야 하지만, 이를 검증하지 않을 경우 비콘 보호 기능을 우회하는 공격에 악용될 수 있습니다.
💡 쉬운 설명
와이파이 신호 중 하나인 '비콘'은 원래 모든 기기가 들을 수 있게 방송용으로만 보내야 합니다. 하지만 공격자가 특정 기기만을 겨냥해 가짜 비콘을 보내면, 보안 기능을 무력화하고 기기를 잘못된 채널로 이동시키는 등의 공격이 가능해집니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
wifi: mac80211: Discard Beacon frames to non-broadcast address
Beacon frames are required to be sent to the broadcast address, see IEEE
Std 802.11-2020, 11.1.3.1 ("The Address 1 field of the Beacon .. frame
shall be set to the broadcast address"). A unicast Beacon frame might be
used as a targeted attack to get one of the associated STAs to do
something (e.g., using CSA to move it to another channel). As such, it
is better have strict filtering for this on the received side and
discard all Beacon frames that are sent to an unexpected address.
This is even more important for cases where beacon protection is used.
The current implementation in mac80211 is correctly discarding unicast
Beacon frames if the Protected Frame bit in the Frame Control field is
set to 0. However, if that bit is set to 1, the logic used for checking
for configured BIGTK(s) does not actually work. If the driver does not
have logic for dropping unicast Beacon frames with Protected Frame bit
1, these frames would be accepted in mac80211 processing as valid Beacon
frames even though they are not protected. This would allow beacon
protection to be bypassed. While the logic for checking beacon
protection could be extended to cover this corner case, a more generic
check for discard all Beacon frames based on A1=unicast address covers
this without needing additional changes.
Address all these issues by dropping received Beacon frames if they are
sent to a non-broadcast address.
📍 영향받는 시스템
Linux kernel (mac80211 driver 사용 시스템)
⚔️ 공격 벡터
특정 스테이션(STA)을 대상으로 유니캐스트 주소를 사용하는 조작된 비콘 프레임을 전송하여 비콘 보호 기능을 우회함
🛡️ 대응 방법
Linux 커널을 최신 보안 패치가 적용된 버전으로 업데이트하여 비콘 프레임의 주소 검증 로직을 적용해야 함
🔧 검증 코드
현재 실행 중인 커널 버전을 확인하여 해당 취약점이 해결된 최신 패치 버전인지 확인합니다.