CVE-2026-46165 in Linux
요약
\~에 의해 VulDB • 2026. 05. 28.
리눅스 커널에서 다음 취약점이 해결되었습니다:
openvswitch: vport: 터널 포트 해제 시 자기 교착 상태(self-deadlock) 수정
vport는 동시에 사용되며 RCU로 보호되므로, netdev_put()은 RCU grace period 이후에 발생해야 합니다. 따라서 RCU 콜백 내에서 또는 synchronize_net() 호출 후에 수행해야 합니다. rtnl_delete_link()는 RTNL 하에서 수행되어야 하므로 RCU 컨텍스트에서 실행될 수 없습니다. 일반적으로 RTNL을 획득한 상태에서 synchronize_net()을 호출하는 것은 성능과 부하 상황下的 시스템 안정성에 좋지 않으므로, RCU 콜백 내에서 netdev_put()을 호출하는 것이 올바른 해결책입니다.
그러나 장치가 삭제될 때 rtnl_unlock()은 netdev_run_todo()를 호출하고 모든 참조가 해제될 때까지 블록됩니다. 현재 코드에서는 이로 인해 call_rcu()에 도달하지 못하고, vport가 해제되지 않으며 참조가 해제되지 않아 장치 제거 시 자기 교착 상태가 발생합니다.
이를 해결하기 위해 rcu_call()을 rtnl_unlock() 앞에 이동시킵니다. 이렇게 하면 rtnl_unlock()->netdev_run_todo()에서 synchronize_net()이 호출될 때 RTNL 자체가 이미 해제된 상태에서 예약된 RCU 콜백이 실행됩니다.
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.