🇰🇷 한글 설명
Linux 커널의 DSA(Distributed Switch Architecture) 드라이버에서 conduit 장치의 ethtool ops 내 중복된 netdev_lock_ops() 호출로 인해 데드락이 발생할 수 있는 취약점입니다. DSA 래퍼가 이미 통계 데이터를 집계하는 과정에서 잠금을 사용하므로, 내부에서 다시 잠금을 시도할 때 시스템이 멈추는 현상이 발생합니다.
💡 쉬운 설명
네트워크 장치를 관리하는 소프트웨어 내부에서 똑같은 잠금 장치를 두 번 잠그려고 시도하여 컴퓨터가 멈춰버리는 문제입니다. 특정 네트워크 설정 환경에서 명령어를 입력하면 시스템이 응답하지 않을 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
net: dsa: remove redundant netdev_lock_ops() from conduit ethtool ops
DSA replaces the conduit (master) device's ethtool_ops with its own
wrappers that aggregate stats from both the conduit and DSA switch
ports. Taking the lock again inside the DSA wrappers causes a deadlock.
Stumbled upon this when booting qemu with fbnic and CONFIG_NET_DSA_LOOP=y
(which looks like some kind of testing device that auto-populates the ports
of eth0). `ethtool -i` is enough to deadlock. This means we have basically zero
coverage for DSA stuff with real ops locked devs.
Remove the redundant netdev_lock_ops()/netdev_unlock_ops() calls from
the DSA conduit ethtool wrappers.
📍 영향받는 시스템
Linux kernel (DSA 드라이버 및 CONFIG_NET_DSA_LOOP가 활성화된 환경)
⚔️ 공격 벡터
로컬 사용자가 ethtool과 같은 도구를 사용하여 네트워크 장치 정보를 조회할 때 데드락 유발 가능
🛡️ 대응 방법
DSA conduit ethtool 래퍼에서 중복된 netdev_lock_ops() 및 netdev_unlock_ops() 호출을 제거한 최신 커널로 업데이트
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 패치된 최신 버전인지 확인하십시오.