[단독방어] 분석 — CVE-2026-43026
The netfilter ctnetlink expectation dump bug (CVE-2026-43026) can leak stale NAT data to userspace, and immediate mitigation is to disable connection‑tracking expectations or unload the nf_conntrack module until a patched kernel is deployed.
📋 요약
- 심각도 medium · CVSS 5.5 · EPSS 0.00129 · 악용난이도 hard
🔍 공격 기법
공격자는 사용자 권한으로 netlink (NETLINK_NETFILTER) 인터페이스에 기대(expectation)를 생성하고, NAT 정보가 포함되지 않은 CTA_EXPECT_NAT 메시지를 전송합니다. 그 후 커널은 이전 슬랩 할당에서 남아 있던 saved_addr·saved_proto 데이터를 초기화하지 않으므로, ctnetlink_exp_dump_expect() 가 잘못된 CTA_EXPECT_NAT 필드를 포함한 응답을 반환합니다. 공격자는 이 응답을 통해 내부 NAT 매핑 정보를 유출하거나, 추후 연결 추적 로직을 교란할 수 있습니다.
악용 가능성: 1. 이 취약점은 로컬
💥 영향 분석
- 데이터 누수: 이전에 사용되었던 NAT 주소·프로토콜이 사용자 공간으로 노출됩니다.
- 연결 추적 혼동: 잘못된 기대 정보가 conntrack 테이블에 기록될 경우, 패킷 흐름 판단에 오류가 발생할 수 있습니다.
- 추가 공격 기반: 누출된 NAT 매핑을 활용해 내부 호스트에 대한 스푸핑·포트 예측 등 후속 침투 시나리오를 구성할 가능성이 있습니다.
🔗 관련 취약점·체이닝
추정: 동일한 슬랩 캐시 재사용으로 인한 초기화 누락은 CWE-457 (Use of Uninitialized Variable)와 유사한 패턴이며, netfilter conntrack expectation 처리 로직과 결합될 경우 CWE-20 (Improper Input Validation)이 연쇄적으로 작동할 수 있습니다.
🔎 탐지
-
로그 지표
auditd또는kernel로그에 기록되는 netlink (NETLINK_NETFILTER) 메시지에서CTA_EXPECT_NAT속성이 존재하지만, 해당 메시지의 flag 필드에 NAT 비활성화가 표시된 경우.dmesg/journalctl에서ctnetlink_exp_dump_expect함수 호출 시saved_addr != 0또는saved_proto != 0값이 출력되는 경우.
-
SIEM 탐지 규칙 예시
- Audit 로그 기반 쿼리 (Elastic Kibana)
1event.module:"auditd" 2AND event.action:"netlink_socket" 3AND message:*"CTA_EXPECT_NAT"* 4AND NOT message:*"NAT_ENABLED=1"* 1 *조건*: `CTA_EXPECT_NAT` 문자열이 존재하고, NAT 활성화 플래그가 없을 때 경보 발생.2. 정규식 기반 로그 파싱 (Splunk)
1index=kernel sourcetype=linux_audit 2| regex _raw="CTA_EXPECT_NAT.*saved_addr=[0-9a-fA-F]{8}" 1 *오탐 튜닝*: 정상적인 NAT 기대가 실제로 존재하는 경우 `NAT_ENABLED=1` 필드를 추가 검증하여 제외.3. eBPF 트레이스 이벤트 (Falco)
1syscall.name = "recvmsg" 2and fd.type = netlink 3and evt.args[2] contains "CTA_EXPECT_NAT" 4and not proc.cmdline contains "--nat-enabled" 1 *오탐 시나리오*: 시스템 관리 툴이 기대 정보를 조회하는 경우, `proc.name` 이 `conntrack-tools` 로 제한하여 필터링.- 오탐 튜닝
- 정상적인 conntrack helper(예: FTP, SIP) 사용 시 발생할 수 있는 NAT 기대는
proc.name="nf_conntrack_helper"혹은socket.protocol=17 (UDP)로 추가 제한. - 테스트 환경에서 의도적으로 슬랩을 초기화하지 않은 경우를 제외하고, 경보 빈도가 높은 호스트에 대해
auditd필터 레벨을WARN→INFO로 조정.
- 정상적인 conntrack helper(예: FTP, SIP) 사용 시 발생할 수 있는 NAT 기대는
🛡️ 완화 방안
- 즉시(긴급 차단)
sysctl -w net.netfilter.nf_conntrack_expect_max=0으로 기대(expectation) 할당을 비활성화합니다. 난이도: 낮음 / 운영 영향: NAT 기반
⚖️ 위험도 / 우선순위
- 조치: monitor (모니터링)
- 근거: CVSS=5.5 · non-KEV · EPSS=0.00129 · exploit=hard · in_scope=None