🇰🇷 한글 설명
Linux 커널의 netfilter nf_conntrack 구성 요소에서 TCP 및 SCTP 연결 추적 경로가 ct->lock을 보유한 상태에서 잘못된 패킷 로그를 생성할 수 있는 취약점입니다. 이로 인해 로그 경로가 다시 conntrack netlink에 진입하여 동일한 데이터를 덤프하려고 시도할 때 데드락(Deadlock)이 발생할 수 있습니다.
💡 쉬운 설명
시스템이 네트워크 연결을 기록하는 과정에서 스스로 잠금 상태에 빠져 멈춰버리는 현상이 발생할 수 있습니다. 특정 네트워크 패킷이 들어올 때 시스템이 응답하지 않는 상태가 될 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
netfilter: nf_conntrack: defer invalid log until after unlock
TCP and SCTP conntrack paths can emit invalid-packet logs while ct->lock
is still held.
When invalid logging is routed to nfnetlink_log and conntrack export is
enabled, the log path can re-enter conntrack netlink glue and dump the
same conntrack again. Protocol attribute dumping may take ct->lock, so
logging while holding that lock can deadlock.
Defer the TCP invalid logs by storing only the minimal log context while
ct->lock is held and emitting the log after unlocking. Also make the TCP
timeout-lowering invalid path return whether a log is needed, then emit
that log after unlocking.
Do the same for the SCTP invalid state-transition log that can be reached
while ct->lock is held.
Add a lockdep assertion to nf_ct_l4proto_log_invalid() so future callers
that log invalid conntracks while holding ct->lock are caught outside TCP
and SCTP as well.
📍 영향받는 시스템
Linux Kernel (netfilter/nf_conntrack 모듈 사용 시스템)
⚔️ 공격 벡터
특수하게 조작된 TCP 또는 SCTP 패킷을 전송하여 커널의 로그 생성 로직을 유도함
🛡️ 대응 방법
Linux 커널을 최신 보안 패치가 적용된 버전으로 업데이트함
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 해결된 패치 버전 이상인지 확인합니다.