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

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

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

피드문의개인정보© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
drop-ipv4-opt — IPv4 옵션(IHL > 5)을 포함한 패킷을 인터페이스에서 드롭하여 CVE-2026-98432 TCP 핸드셰이크 use-after-free를 완화하는 XDP/eBPF 프로그램입니다. | Kitploit
도구/GitHubGitHub/jamilbk/drop-ipv4-opt
Defensive ToolsPacket Sniffing & AnalysisVulnerability AnalysisNetwork Security
GitHubjamilbk/drop-ipv4-opt

drop-ipv4-opt

IPv4 옵션(IHL > 5)을 포함한 패킷을 인터페이스에서 드롭하여 CVE-2026-98432 TCP 핸드셰이크 use-after-free를 완화하는 XDP/eBPF 프로그램입니다.

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

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

drop-ipv4-opt

커널의 TCP 핸드셰이크에서 IPv4 옵션을 처리할 때 발생하는 use-after-free인 CVE-2026-98432를 완화하기 위한 작은 XDP 프로그램입니다. 대부분의 호스트에서 이 버그는 IP 옵션을 포함한 수신 SYN에 의해서만 트리거될 수 있으므로(아래 NetLabel/CIPSO 예외 참조), 이 프로그램은 옵션이 있는 IPv4 패킷이 커널의 네트워크 스택으로 전달되기 전에 드롭합니다.

패킷의 IHL(헤더 길이) 필드가 5보다 크면, 즉 IPv4 헤더가 20바이트보다 길면 IP 옵션이 있는 것입니다.

[!WARNING] 이것은 NetLabel/CIPSO를 사용하는 호스트를 보호하지 못할 수 있습니다 (SELinux 또는 Smack에서 CIPSOV4 매핑을 사용하는 경우). 그러한 호스트에서는 커널이 스스로 IP 옵션을 붙일 수 있으므로, 일반적인 SYN으로도 버그에 도달할 수 있습니다. 그런 경우에는 패치된 커널이 더 신뢰할 수 있는 해결책입니다. netlabelctl map list를 사용하면 호스트가 CIPSO를 사용하는지 판별하는 데 도움이 됩니다. CIPSOV4 유형의 항목이 있으면 사용 중임을 시사합니다.

동작 방식

패킷동작
옵션이 있는 IPv4 (IHL > 5)XDP_DROP
옵션이 없는 IPv4XDP_PASS
그 외 모든 것 (IPv6, ARP, …)XDP_PASS
잘렸거나 잘못된 헤더XDP_PASS

VLAN 태그가 붙은 프레임도 처리합니다. 이 프로그램은 IPv4 여부를 확인하기 전에 최대 두 개의 VLAN 태그(802.1Q 및 802.1ad/QinQ)를 건너뜁니다. 태그가 두 개를 초과하는 프레임은 그대로 통과시킵니다.

요구 사항

Linux 호스트에서:

  • clang 및 llvm
  • libbpf-dev (bpf/bpf_helpers.h용)
  • 커널 헤더 (linux-headers-$(uname -r) 또는 linux-libc-dev)
  • iproute2 (ip link용), 그리고 선택적으로 bpftool

Debian / Ubuntu:

sudo apt install clang llvm libbpf-dev linux-libc-dev iproute2 bpftool

Fedora:

sudo dnf install clang llvm libbpf-devel kernel-headers iproute bpftool

빌드

make

이 명령은 drop_ipv4_opt.o를 생성합니다.

인터페이스에 연결

eth0을 사용 중인 인터페이스 이름으로 바꾸세요(ip link 참조).

가장 빠른 네이티브(드라이버) 모드:

sudo ip link set dev eth0 xdpdrv obj drop_ipv4_opt.o sec xdp

모든 인터페이스에서 동작하지만 더 느린 제네릭(SKB) 모드:

sudo ip link set dev eth0 xdpgeneric obj drop_ipv4_opt.o sec xdp

커널이 모드를 선택하도록 하기(지원되면 네이티브, 아니면 제네릭):

sudo ip link set dev eth0 xdp obj drop_ipv4_opt.o sec xdp

연결되었는지 확인

ip link show dev eth0          # look for "xdp" / "prog/xdp id N"
sudo bpftool net show dev eth0

분리

sudo ip link set dev eth0 xdp off

특정 모드로 연결했다면 xdpdrv off 또는 xdpgeneric off를 사용하세요.

테스트

다른 호스트에서 IP 옵션이 포함된 패킷을 보내세요. 예를 들어 Record Route 옵션을 사용하는 경우:

ping -R <target-ip>

프로그램이 연결된 상태에서는 이러한 ping에 응답이 없습니다. 일반 ping <target-ip>는 여전히 동작합니다.

라이선스

MIT. LICENSE를 참조하세요.

도구 다운로드