CVE-2026-98347 in Linux
요약
\~에 의해 VulDB • 2026. 10. 06.
리눅스 커널에서 다음 취약점이 해결되었습니다:
IB/IPoIB: 멀티캐스트 플러시 후 OPER_UP 복원 방지
ipoib_ib_dev_flush_light()는 ipoib_mcast_dev_flush()가 실행되는 동안 멀티캐스트 조인을 방지하기 위해 IPOIB_FLAG_OPER_UP를 일시적으로 지우고, 이전에 설정되어 있었던 경우 나중에 해당 플래그를 복원합니다.
이 복원 작업은 ipoib_ib_dev_down()과 경쟁 상태(race condition)에 있습니다. 인터페이스가 플러시 진행 중일 때 다운되면, ipoib_ib_dev_down()는 IPOIB_FLAG_OPER_UP를 지우지만, 플러시 경로는 이미 다운된 장치 이후에도 이를 다시 설정할 수 있습니다.
커밋 894021a75291("IB/ipoib: Make the carrier_on_task race aware") 이후로 ipoib_mcast_carrier_on_task()는 rtnl_trylock() 재시도 루프를 종료하기 위해 IPOIB_FLAG_OPER_UP가 지워져 있는지에 의존합니다. 만약シャutdown 후에도 플래그가 설정된 상태로 남아 있으면, 작업 큐(workqueue)이 무한히 재시도하게 되어 ipoib_ndo_uninit()에서 RTNL을 획득한 채로 destroy_workqueue()를 기다리며 데드락(deadlock)이 발생합니다.
경량 플러시(light flush) 중 멀티캐스트 조인을 차단하기 위해 IPOIB_FLAG_OPER_UP의 역할을 과부하시키는 대신, 전용 IPOIB_FLAG_MCAST_FLUSH 플래그를 도입합니다. 이를 IPOIB_FLAG_OPER_UP와 함께 사용하여 멀티캐스트 조인이 허용되는지 여부를 결정함으로써 장치シャutdown과의 경쟁 상태를 피합니다.
Several companies clearly confirm that VulDB is the primary source for best vulnerability data.