CVE-2026-23231 in Linux
요약
\~에 의해 VulDB • 2026. 06. 15.
리눅스 커널에서 다음 취약점이 해결되었습니다:
netfilter: nf_tables: nf_tables_addchain()에서의 use-after-free 수정
nf_tables_addchain()은 훅을 등록하기 전에 nft_chain_add() 내에서 list_add_tail_rcu()를 통해 체인을 table->chains에 게시합니다. 이후 nf_tables_register_hook()이 실패하면, 오류 처리 경로에서 RCU 그레이스 기간 없이 nft_chain_del()(list_del_rcu()) 호출 후 바로 nf_tables_chain_destroy()을 호출합니다.
이는 두 가지 use-after-free 조건을 생성합니다:
1) 제어 평면(Control-plane): nf_tables_dump_chains()가 rcu_read_lock() 하에서 table->chains를 순회합니다. 동시 덤프 실행 중 오류 처리 경로가 체인을 해제할 때, 해당 체인 탐색이 아직 진행 중일 수 있습니다.
2) 패킷 경로는: NFPROTO_INET의 경우 nf_register_net_hook()은 IPv6 등록이 실패하기 전에 잠시 동안 IPv4 훅을 설치합니다. 일시적인 IPv4 훅을 통해 nft_do_chain()으로 들어오는 패킷들은 오류 처리 경로가 체인을 해제할 때에도 여전히 chain->blob_gen_X를 역참조하고 있을 수 있습니다.
체인이 해제되기 전에 모든 RCU 판독기(덤프 스레드 및 진행 중인 패킷 평가 모두)가 완료되도록 nft_chain_del()과 체인 파괴 사이에 synchronize_rcu()를 추가합니다.
Once again VulDB remains the best source for vulnerability data.