CVE-2026-23398
icmp: icmp_tag_validation()의 NULL 포인터 역참조 수정
- 게시됨
- 2026. 3. 26.
- 업데이트됨
- 2026. 10. 15.
- CNA 할당 중
- Linux
- 증거 관찰됨
- 2026. 8. 25.
기본 CVSS
nvd · CVSS 3.1
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H낮음 · 다음 30일
- 백분위수
- 1.9%
- 모델 날짜
- 2026. 10. 15.
EPSS는 통계적 추정치이지 확실성이나 영향의 척도가 아닙니다. 이를 CVSS, KEV 상태, 노출 및 환경과 결합하세요.
요약
리눅스 커널에서 다음 취약점이 해결되었습니다: icmp: icmp_tag_validation()의 NULL 포인터 역참조 수정 icmp_tag_validation()은 rcu_dereference(inet_protos[proto])의 결과를 NULL 검사 없이 무조건 역참조합니다. inet_protos[] 배열은 희소(sparse)합니다. 즉, 256개의 프로토콜 번호 중 약 15개만 등록된 핸들러를 가지고 있습니다. ip_no_pmtu_disc가 3(강화된 PMTU 모드)으로 설정되고 커널이 등록되지 않은 프로토콜 번호를 포함하는 인용된 내부 IP 헤더가 있는 ICMP Fragmentation Needed 오류를 수신하면, NULL 역참조로 인해 softirq 컨텍스트에서 커널 패닉이 발생합니다. Oops: general protection fault, probably for non-canonical address 0xdffffc0000000002: 0000 [#1] SMP KASAN NOPTI KASAN: null-ptr-deref in range [0x0000000000000010-0x0000000000000017] RIP: 0010:icmp_unreach (net/ipv4/icmp.c:1085 net/ipv4/icmp.c:1143) Call Trace: <IRQ> icmp_rcv (net/ipv4/icmp.c:1527) ip_protocol_deliver_rcu (net/ipv4/ip_input.c:207) ip_local_deliver_finish (net/ipv4/ip_input.c:242) ip_local_deliver (net/ipv4/ip_input.c:262) ip_rcv (net/ipv4/ip_input.c:573) __netif_receive_skb_one_core (net/core/dev.c:6164) process_backlog (net/core/dev.c:6628) handle_softirqs (kernel/softirq.c:561) </IRQ> icmp_strict_tag_validation에 접근하기 전에 NULL 검사를 추가하십시오. 프로토콜에 등록된 핸들러가 없으면 엄격한 태그 검증을 수행할 수 없으므로 false를 반환합니다.
소스
Linux 커널의 icmp_tag_validation()에서 발생하는 NULL 포인터 역참조에 대한 개념 증명 익스플로잇으로, 조작된 ICMP 패킷을 통해 원격 서비스 거부(DoS)를 유발할 수 있습니다.
# CVE-2026-23398 재현 실습 환경 Linux 커널의 `icmp_tag_validation()`에서 ICMP Fragmentation Needed 패킷에 의해 트리거되는 NULL 역참조(NULL dereference) 취약점으로, 서비스 거부(DoS)를 유발합니다. QEMU VM 설정, Scapy PoC, 패치된 커널과 취약한 커널 테스트용 스크립트를 포함합니다.
책임 있는 사용
귀하가 소유하고 있거나 테스트할 권한이 있는 시스템에 대해서만 취약점 정보를 사용하십시오. Kitploit은 공개 연구 메타데이터에 연결되며 익스플로잇 코드나 악성 페이로드를 저장하지 않습니다.