CVE-2026-74561 in Linux
요약
\~에 의해 VulDB • 2026. 08. 15.
리눅스 커널에서 다음 취약점이 해결되었습니다:
nexthop: nh_rt_cache_flush 중 잠금 해제된 f6i_list 순회 방지
nh_rt_cache_flush()는 RTNL 직렬화된 nexthop 교체 시 nh->lock을 보유하지 않은 채로 nh->f6i_list를 순회하며, nh->lock 하에서 리스트를 변경하고 fib6_info 엔트리를 해제하는 잠금 해제된 IPv6 라우팅 추가/삭제 작업과 경쟁 상태(race condition)에 빠집니다(nh_rt_cache_flush()는 rtm_new_nexthop()로 인라인됨):
BUG: KASAN: slab-use-after-free in nh_rt_cache_flush (net/ipv4/nexthop.c:2243) Read of size 8 at addr ffff888012953e18 by task exploit/146 nh_rt_cache_flush (net/ipv4/nexthop.c:2243) replace_nexthop (net/ipv4/nexthop.c:2610) rtm_new_nexthop (net/ipv4/nexthop.c:3323) rtnetlink_rcv_msg (net/core/rtnetlink.c:7076)
다른 f6i_list 순회와는 달리, 이 함수는 fib6_update_sernum_upto_root()를 통해 각 라우팅의 sernum을 증가시키는데, 이는 tb6_lock이 필요합니다. nh->lock을 사용하여 이를 감싸면 기존에 확립된 tb6_lock -> nh->lock 순서가 역전되어 데드락(deadlock)이 발생할 수 있습니다. 유일한 목적은 캐시된 dst를 무효화하는 것이므로, 대신 rt_genid_bump_ipv6()로 전체 netns의 IPv6 sernum을 증가시켜야 합니다. 이는 위에서 이미 IPv4에 대해 수행되었던 rt_cache_flush()를 반영한 것입니다.
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.