🇰🇷 한글 설명
Linux 커널의 netfilter conntrack 모듈에서 TCP 상태 머신이 잘못된 시퀀스 번호를 가진 RST 패킷을 처리할 때 발생하는 취약점입니다. 방향성 검증 없이 RST 패킷이 수신되면 연결 상태를 강제로 CLOSE로 전환하여 활성 NAT 엔트리를 조기에 종료시킬 수 있습니다.
💡 쉬운 설명
해커가 가짜 신호를 보내서 현재 사용 중인 인터넷 연결을 강제로 끊어버릴 수 있는 문제입니다. 연결의 방향을 확인하지 않는 허점을 이용해 정상적인 통신을 방해합니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
netfilter: conntrack: tcp: do not force CLOSE on invalid-seq RST without direction check
An unintended behavior in the TCP conntrack state machine allows a
connection to be forced into the CLOSE state using an RST packet with an
invalid sequence number.
Specifically, after a SYN packet is observed, an RST with an invalid SEQ
can transition the conntrack entry to TCP_CONNTRACK_CLOSE, regardless of
whether the RST corresponds to the expected reply direction. The relevant
code path assumes the RST is a response to an outgoing SYN, but does not
validate packet direction or ensure that a matching SYN was actually sent
in the opposite direction.
As a result, a crafted packet sequence consisting of a SYN followed by an
invalid-sequence RST can prematurely terminate an active NAT entry. This
makes connection teardown easier than intended.
So, tighten the state transition logic to ensure that RST-triggered
CLOSE transitions only occur when the RST is a valid response to a
previously observed SYN in the correct direction.
📍 영향받는 시스템
Linux kernel (netfilter/conntrack 모듈 포함 버전)
⚔️ 공격 벡터
SYN 패킷 이후 잘못된 시퀀스 번호를 가진 RST 패킷을 전송하여 NAT 연결을 강제 종료
🛡️ 대응 방법
RST 패킷의 방향성과 시퀀스 번호를 검증하도록 수정된 최신 Linux 커널로 업데이트
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 패치된 최신 보안 업데이트 버전인지 확인