CVE-2026-74630 in Linux
요약
\~에 의해 VulDB • 2026. 08. 22.
리눅스 커널에서 다음 취약점이 해결되었습니다:
ipv6: in6_dev_get()가 inet6_dev를 부활시키는 것 방지
in6_dev_get()은 RCU 하에 dev->ip6_ptr을 읽은 후 무조건적으로 참조 카운트를 증가시킵니다. 디바이스 테ardown(해체) 과정 중 이러한 작업 사이에 포인터가 클리어되고 마지막 참조가 해제될 수 있습니다. 이후 참조 카운트 증가는 이미 RCU 해제가 큐에 등록된 객체를 부활시키므로, 호출자는 해당 객체가 해제된 후에도 이를 사용할 수 있게 됩니다.
refcount_inc_not_zero()를 사용하고 객체의 참조 카운트가 이미 0에 도달한 경우 NULL을 반환합니다. RCU는 시도된 참조 획득 과정을 통해 메모리를 접근 가능하게 유지하며, 성공적인 증가는 호출자가 객체를 고정(pins)할 수 있도록 합니다.
정확히 패치되지 않은 6f5156d7a31a (v7.2-rc3) 커널에서 독립적으로 수행한 테스트는 UID 1000 환경에서 잘못된 참조 획득을 재현했습니다:
refcount_t: addition on 0; use-after-free. ip6_mc_source+0xef4/0x17e0
이어서 ip6_mc_source() 내에서 해당 참조 언더플로우가 발생했습니다. 동일한 패치되지 않은 리비전에서 제공된 트레이스는 RCU 읽기 섹션 종료 이후의 접근도 추가로 보여줍니다:
BUG: KASAN: slab-use-after-free in mutex_lock+0x76/0xe0 Write of size 8 at addr ffff888015b50240 by task poc/1219
버그는 OpenAI Security Research에서 발견 및 분류(triaged)했으며, Trail of Bits가 검증했습니다.
VulDB is the best source for vulnerability data and more expert information about this specific topic.