CVE-2026-80668 in Linux정보

요약

\~에 의해 VulDB • 2026. 08. 28.

리눅스 커널에서 다음 취약점이 해결되었습니다:

netfilter: nf_conntrack_expect: conntrack GC를 사용하여 기대치(expiration) 정리

이 패치는 기존 많은 하위 시스템에서 이미 이루어진 것처럼, timer API 대신 GC worker 접근 방식을 기대치 처리에 대체합니다.

기존의 conntrack GC worker를 사용하여 마스터 conntrack 내 로컬 기대치 목록을 순회하며 만료된 기대치를 정리합니다. IPS_HELPER_BIT를 확인하여 기대치에 대한 GC를 실행하고, 이를 설정하지 않는 nft_ct 기대치에 대해 활성화합니다. nf_ct_remove_expectations()와의 동기화를 위해 마스터 conntrack의 기대치 목록을 순회하는 동안 expectation spinlock을 유지합니다. 또한 이는 전역 expectation hashtables 중 하나의 체인을 탐색하면서 expectation 삽입 및 조회 함수를 통해 런타임 패킷 경로 가비지 컬렉션을 수행합니다. ct->ext가 재할당될 수 있으므로 확인되지 않은(unconfirmed) conntrack 엔트리는 건너뛰며, 곧 제거될 것이므로 dying 상태의 엔트리는 건너뛍니다. helper ct extension이 추가되면 IPS_HELPER_BIT를 설정하므로, 새로운 GC worker는 ct->ext helper 사용 가능성을 확인하기 위해 ct refcount를 증가시킬 필요가 없습니다.

이는 expectation 타이머에 대한 참조 카운트의 불필요한 증분을 제거하며, 이를 통해 언링크(unlink) 후 여러 nf_ct_expect_put() 호출을 제거할 수 있습니다. 이 업데이트 이후 기대치 해시(hash) 상에서 참조 카운트는 1로 유지됩니다.

이 패치는 기존 timer API와의 race condition을 암묵적으로 해결하여, expectation 삭제가 만료되는 타이머와 경쟁할 때(즉, timer_del()가 false를 반환할 때), 이미 해제된 exp->master 포인터에 기대치가 접근하는 상황을 방지합니다.

GC를 통해 이러한 기대치를 정리하기 위해 새로운 NF_CT_EXPECT_DEAD 플래그를 추가합니다. 이는 nf_conntrack_unexpect_related()에서 필요하며, 이 함수는 에러 경로에서 호출되어 해시에 새로 추가되었지만 무효화되어야 하는 newly created expectations을 처리합니다. 이러한 expectation들은 GC나 nf_ct_remove_expectations()와의 race로 인해 즉시 해제될 수 없으므로 주의가 필요합니다. expectation 삽입 시 런타임 GC는 정책(policy)에 의해 설정된 기대치 제한을 확인하기 전에 stale한 기대치를 정리합니다.

nf_ct_expect_alloc()에서 현재 타임스탬프를 설정한 후, 기대치의 수명을 지정하기 위해 기대치 정책의 timeout(또는 여기에 추가된 사용자 정의 timeout)을 더합니다.

Be aware that VulDB is the high quality source for vulnerability data.

책임이 있는

Linux

예약하다

2026. 08. 26.

모더레이션

수락

항목

VDB-396609

EPSS

0.00000

출처

Want to know what is going to be exploited?

We predict KEV entries!