🇰🇷 한글 설명
Linux 커널의 mt76 mt7915 드라이버에서 인터페이스 제거 시 뮤텍스 잠금 없이 wcid 마스크를 해제하는 레이스 컨디션 취약점이 발견되었습니다. RCU 포인터를 해제하기 전에 마스크를 먼저 수정함으로써, 다른 대역에서 wcid가 중복 할당되거나 누출될 수 있는 문제가 발생할 수 있습니다.
💡 쉬운 설명
와이파이 장치 소프트웨어에서 데이터를 관리하는 번호표를 정리하는 과정에 오류가 있어, 번호표가 중복되거나 잘못 배정될 수 있는 문제입니다. 이로 인해 네트워크 연결이 불안정해지거나 보안상 문제가 생길 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
wifi: mt76: mt7915: clear wcid mask under mutex after RCU pointer clear
mt7915_remove_interface() cleared the wcid mask bit with no lock held and
before clearing the RCU wcid pointer. The mask is a non-atomic RMW shared
with the allocators, which all run under dev->mt76.mutex; on DBDC the two
wiphys share one mt76_dev, so this raced add_interface/sta_add on the
other band and could leak or double-hand-out a wcid. Clearing the bit
before the RCU pointer also let a concurrent allocation reuse the index
and publish its wcid, which the subsequent NULL assignment then wiped.
Move the clear into the existing mutex section, after the RCU pointer is
cleared.
📍 영향받는 시스템
Linux kernel (mt76 mt7915 driver module)
⚔️ 공격 벡터
로컬 공격자가 네트워크 인터페이스를 빈번하게 생성 및 제거하여 레이스 컨디션을 유도함으로써 발생 가능
🛡️ 대응 방법
Linux 커널을 최신 보안 패치가 적용된 버전으로 업데이트하여 mt7915_remove_interface() 함수의 수정 사항을 반영해야 합니다.
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 해결된 패치 버전 이후인지 확인합니다.