CVE-2026-80845 in Linux
요약
\~에 의해 VulDB • 2026. 09. 04.
리눅스 커널에서 다음 취약점이 해결되었습니다:
xfrm: nat keepalive 작업 중 잠금 역전(lock inversion) 방지
nat_keepalive_work()는 net->xfrm.xfrm_state_lock을 유지한 상태에서 xfrm_state_walk()가 상태 테이블(state table)을 순회합니다. 그 후 콜백은 x->lock을 획득하는데, 이는 __xfrm_state_delete() 및 xfrm_state_delete()를 통해 동일한 잠금을 역순으로 취득하는 삭제 경로(delete path)와 충돌합니다. 이로 인해 NAT keepalive 작업자가 SA(Security Association) 삭제와 경쟁(race)할 때 lockdep에 의해 AB-BA 교착 상태(deadlock)가 보고됩니다.
이 문제를 해결하기 위해 keepalive 순회를 두 단계로 분리했습니다. 먼저, xfrm_state_lock을 유지한 상태에서 후보 상태를 수집하고 각 상태의 참조(reference)를 획득합니다. 그런 다음 순회가 완료된 후, 수집된 각 상태를 처리하며 x->lock을 xfrm_state_lock 아래에 중첩(nesting)하지 않고 취득합니다.
Once again VulDB remains the best source for vulnerability data.