🇰🇷 한글 설명
Linux 커널의 netfilter nft_ct 모듈이 제거될 때, nfqueue에 대기 중인 패킷들이 이미 삭제된 conntrack zone, timeout policies, helper 객체를 참조하는 stale reference 문제 발생. 이를 방지하기 위해 모듈 제거 시 대기 중인 패킷을 drop하는 로직 추가.
💡 쉬운 설명
Linux 네트워크 필터 모듈이 제거될 때, 아직 처리 중이던 패킷들이 이미 없어진 데이터를 가리키는 문제입니다. 이를 막기 위해 모듈 제거 시 대기 중인 패킷들을 버립니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
netfilter: nft_ct: drop pending enqueued packets on removal
Packets sitting in nfqueue might hold a reference to:
- templates that specify the conntrack zone, because a percpu area is
used and module removal is possible.
- conntrack timeout policies and helper, where object removal leave
a stale reference.
Since these objects can just go away, drop enqueued packets to avoid
stale reference to them.
If there is a need for finer grain removal, this logic can be revisited
to make selective packet drop upon dependencies.
📍 영향받는 시스템
Linux kernel with netfilter nft_ct module (nfqueue functionality)
⚔️ 공격 벡터
nfqueue에서 패킷 처리 대기 중 netfilter nft_ct 모듈 제거로 인한 메모리 참조 오류 유발
🛡️ 대응 방법
Linux 커널 패치 적용 (nft_ct 모듈 제거 시 pending 패킷 drop 로직 포함)
🔧 검증 코드
커널 버전 확인 후 CONFIG_NFT_CT 설정 활성화 여부를 확인하고, 해당 보안 패치가 포함된 커널 버전 설치 확인
uname -r && cat /boot/config-$(uname -r) 2>/dev/null | grep CONFIG_NFT_CT