Skip to content
KitploitKITPLOIT
도구익스플로잇블로그
Log in
제출
도구익스플로잇블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

피드문의개인정보© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
cve-2026-98432-nft — IP 옵션을 포함한 IPv4 TCP SYN을 드롭하여 CVE-2026-98432 use-after-free를 완화하는 nftables ingress 규칙 세트로, 소스별 카운터와 로깅을 제공합니다. | Kitploit
도구/GitHubGitHub/antonyantony/cve-2026-98432-nft
Defensive ToolsVulnerability AnalysisNetwork SecurityMisconfigurationIncident ResponseLog Analysis
GitHubantonyantony/cve-2026-98432-nft

cve-2026-98432-nft

IP 옵션을 포함한 IPv4 TCP SYN을 드롭하여 CVE-2026-98432 use-after-free를 완화하는 nftables ingress 규칙 세트로, 소스별 카운터와 로깅을 제공합니다.

저장소 보기
4일 전아직 검토되지 않음

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

CVE-2026-98432 nftable dorp

CVE-2026-98432에 대한 nftables 완화책: IP 옵션을 포함한 IPv4 TCP SYN을 nftables가 처리할 수 있는 가장 이른 시점에 드롭합니다.

이 CVE는 IPv4 TCP 요청 소켓 경로(ireq->ireq_opt / inet_opt, ip_options_build()에서 읽힘)의 use-after-free입니다. 올바른 수정은 커널 업데이트이며, 이 방법은 커널 업데이트를 적용하기 전까지 노출을 줄이는 것일 뿐입니다.

ireq->ireq_opt는 한 곳, 즉 tcp_v4_init_req()에서 요청 소켓을 여는 SYN의 옵션으로부터 설정됩니다. 경쟁 상태에 있는 재전송 SYN은 거기에 저장된 것만 읽으며, CVE 시나리오에서는 공격자가 Record Route 또는 Timestamp 옵션이 있는 SYN을 전송합니다. 따라서 옵션이 있는 SYN이 문제가 되는 패킷입니다. 요청 소켓 마이그레이션은 동일하게 저장된 ireq_opt를 재사용합니다. 이는 커널 소스와 CVE 텍스트에 근거한 것이지, SYN만으로 충분하다는 CVE 작성자의 진술에 근거한 것이 아닙니다. 보수적인 버전을 원한다면 규칙에서 tcp flags & (syn | ack) == syn 매치를 제거하십시오.

간단한 버전

IFACES를 외부 트래픽을 수신하는 NIC로 설정한 다음 sudo nft -f simple.nft를 실행하십시오. 규칙셋은 다음과 같습니다:

define IFACES = { eth0 }
table netdev cve_2026_98432 {
  chain ingress {
    type filter hook ingress devices = $IFACES priority -500; policy accept;
    ip protocol tcp ip hdrlength > 5 tcp flags & (syn | ack) == syn limit rate 5/second burst 10 packets log prefix "CVE-2026-98432 drop: " level warn
    ip protocol tcp ip hdrlength > 5 tcp flags & (syn | ack) == syn counter drop
  }
}
  • 우선순위 -500의 netdev ingress는 첫 번째 netfilter 훅으로, prerouting, conntrack, 라우팅보다 앞섭니다. XDP는 여전히 그보다 먼저 실행됩니다.
  • ip hdrlength > 5는 32비트 워드 단위의 IPv4 IHL이며, 5보다 크면 옵션이 있음을 의미합니다.
  • tcp flags & (syn | ack) == syn은 ACK가 없는 SYN입니다.
  • 첫 번째 규칙은 커널 로그에 기록합니다(속도 제한이 있어 플러드가 로그를 가득 채울 수 없음). 제한은 로그에만 적용되며 드롭에는 결코 영향을 주지 않습니다.
  • 드롭 규칙의 counter가 총계입니다.

확인 방법: sudo nft list chain netdev cve_2026_98432 ingress 및 journalctl -k -g 'CVE-2026-98432'.

세분화된 카운터: fancy.nft

fancy.nft는 동일한 드롭에 이름이 지정된 총계 카운터와 주소별 카운터를 추가한 것으로, 두 개의 동적 set에 유지됩니다. 또한 IP 옵션이 있는 다른 모든 TCP 패킷(드롭되지 않고 통과됨)을 카운트하고 로그에 기록하며, 로그 라인에 옵션 바이트를 포함합니다(flags ip options, 접두사 CVE-2026-98432 ip-options: ):

카운터위치표시 내용
total이름이 지정된 카운터 dropped_totalIP 옵션이 있는 SYN, 드롭됨
other이름이 지정된 카운터 options_otherIP 옵션이 있는 기타 TCP, 통과됨
소스 IP별set by_src드롭된 소스 주소별 패킷 및 바이트
소스 . 목적지별set by_pair(소스, 목적지) 쌍별 동일 정보
옵션을 사용하는 모든 IPset options_by_src옵션이 있는 모든 IPv4 패킷(TCP, UDP, ICMP... 등 모든 프로토콜)의 소스 주소별 패킷 및 바이트, 드롭된 SYN 포함
sudo nft -f fancy.nft
sudo ./cve-log.sh        # counters, then follow the kernel log
sudo ./cve-log.sh -c     # counters only
sudo ./cve-log.sh -r     # reset the total and the per-IP sets

또는 직접:

sudo nft list counter netdev cve_2026_98432 dropped_total
sudo nft list counter netdev cve_2026_98432 options_other
sudo nft list set netdev cve_2026_98432 by_src
sudo nft list set netdev cve_2026_98432 by_pair
sudo nft list set netdev cve_2026_98432 options_by_src

각 요소는 자체 패킷 및 바이트 카운터를 가지며 마지막 히트 후 1시간 뒤에 만료됩니다. 각 set은 최대 65535개의 항목을 보유하며, 가득 차면 새 주소는 추적되지 않지만 패킷은 여전히 드롭됩니다. 소스 주소는 스푸핑될 수 있으므로, IP별 카운터는 패킷이 주장한 것을 보여줄 뿐 실제 전송자를 보여주지는 않습니다.

참고 사항

  • sudo nft delete table netdev cve_2026_98432로 두 버전 중 하나를 제거하십시오. 어느 것도 재부팅 후 유지되지 않으므로 /etc/nftables.conf에서 파일을 포함시키십시오. fancy.nft는 테이블을 추가하고 규칙만 재구성하므로, 다시 로드해도 카운터가 유지됩니다. 카운터를 초기화하거나 세트를 변경하려면 먼저 nft delete table netdev cve_2026_98432를 실행하십시오. 카운터는 커널 메모리에 존재하며 재부팅 후에는 유지되지 않습니다.
  • 악성 패킷뿐만 아니라 IP 옵션이 있는 모든 SYN을 드롭합니다. 이는 일반 트래픽에서는 드물게 발생합니다. IPv4 전용입니다.
도구 다운로드