🇰🇷 한글 설명
Linux 커널의 netfilter nf_tables 구성 중 오류 발생 시, RCU grace period를 기다리지 않고 flowtable을 해제하여 발생하는 Use-After-Free 취약점입니다. 오류 경로에서 synchronize_rcu()를 호출하지 않아 이미 등록된 훅이 해제된 메모리에 접근할 수 있는 상태가 됩니다.
💡 쉬운 설명
시스템 설정 중 오류가 발생했을 때, 사용 중인 메모리를 제대로 정리하지 않고 먼저 지워버리는 문제입니다. 이로 인해 시스템이 이미 사용 중인 데이터를 참조하려다 충돌하거나 보안 문제가 생길 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
netfilter: nf_tables: release flowtable after rcu grace period on error
Call synchronize_rcu() after unregistering the hooks from error path,
since a hook that already refers to this flowtable can be already
registered, exposing this flowtable to packet path and nfnetlink_hook
control plane.
This error path is rare, it should only happen by reaching the maximum
number hooks or by failing to set up to hardware offload, just call
synchronize_rcu().
There is a check for already used device hooks by different flowtable
that could result in EEXIST at this late stage. The hook parser can be
updated to perform this check earlier to this error path really becomes
rarely exercised.
Uncovered by KASAN reported as use-after-free from nfnetlink_hook path
when dumping hooks.
📍 영향받는 시스템
Linux kernel (nf_tables 구성 요소가 포함된 버전)
⚔️ 공격 벡터
특수하게 조작된 nfnetlink_hook 제어 평면 메시지를 통해 오류 경로를 유도하여 메모리 사용 오류 유발
🛡️ 대응 방법
Linux 커널을 최신 보안 패치가 적용된 버전으로 업데이트
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 해결된 패치 버전 이후인지 확인