🇰🇷 한글 설명
리눅스 커널의 브리지 MST 구현 중, RCU 읽기 잠금(rcu_read_lock)을 보유한 상태에서 잠들 수 있는(sleep) switchdev 호출을 수행하는 취약점이 발견되었습니다. 이로 인해 커널 데드락이나 시스템 불안정이 발생할 수 있으며, 이를 해결하기 위해 switchdev 호출을 RCU 섹션 외부로 이동하고 rtnl 잠금을 확인하도록 수정되었습니다.
💡 쉬운 설명
컴퓨터의 네트워크를 관리하는 핵심 프로그램이 작업을 처리하는 도중, 잘못된 순서로 잠금 장치를 사용하여 시스템이 멈출 수 있는 오류입니다. 이 오류는 네트워크 설정 변경 시 시스템 전체를 마비시킬 위험이 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
net: bridge: mst: move switchdev call outside rcu
This is a follow-up of one of sashiko's pre-existing bug reports.
br_mst_set_state() calls switchdev_port_attr_set() for nonzero MSTIs
while holding rcu_read_lock() which invokes the blocking switchdev
notifier chain and may sleep. Nonzero MSTI changes come from netlink
with rtnl held. Move the switchdev call before entering the rcu section and
assert that rtnl is held.
The call cannot be deferred because netlink needs its error and extack.
Also DSA reads the old bridge MST state during the callback and checks it.
A deferred callback will be late and will see the updated state.
📍 영향받는 시스템
Linux Kernel (net: bridge: mst 관련 모듈 사용 시스템)
⚔️ 공격 벡터
로컬 네트워크 설정 변경(netlink)을 통한 커널 데드락 유도
🛡️ 대응 방법
리눅스 커널을 해당 패치가 적용된 최신 버전으로 업데이트하십시오.
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 수정된 패치 버전 이상인지 확인하십시오.
💻 영향받는 소프트웨어
NVIDIA Cloud Gaming Guest Driver for Linux