Sploitus

Exploit for CVE-2026-23398

kitploit · 2026-09-03

Exploit Code

MARKDOWN45 lines
## https://sploitus.com/exploit?id=KITPLOIT:TOOLS-GITHUB-JOHANNESLKS-CVE-2026-23398
# CVE-2026-23398

Linux 内核 `icmp_tag_validation()` 空指针解引用(远程拒绝服务)

## 描述

`net/ipv4/icmp.c` 中的 `icmp_tag_validation()` 在解引用 `inet_protos[proto]` 时未进行 NULL 检查。远程攻击者可以发送单个精心构造的 ICMP Fragmentation Needed 数据包,其中包含未注册的内部协议号,从而在 softirq 上下文中使内核崩溃。

受影响版本:提交 614aefe56af8(主线)之前的 Linux 内核 / d938dd5a0ad7(稳定版 6.12)之前的版本

## 用法

root@kitploit:~
    
    
    sudo python3 poc.py --target <TARGET_IP>                     # 单个数据包,协议号 253
    sudo python3 poc.py --target <TARGET_IP> --proto 252         # 备选未注册协议号
    sudo python3 poc.py --target <TARGET_IP> --count 5           # 重复发送
    

## 要求

  * 与目标具备三层网络连通性(支持伪造源 IP)
  * 目标:`net.ipv4.ip_no_pmtu_disc = 3`(非默认值;必须设置才能到达 `icmp_tag_validation()`)
  * 攻击者:root 权限、Python 3、Scapy



## 参考

  * https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=d938dd5a0ad780c891ea3bc94cae7405f11e618a
  * https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=614aefe56af8



## 法律声明

本项目基于 GNU GPLv3 许可证发布。

本项目仅用于防御性安全研究、教育和授权测试。未经所有者明确许可,请勿将此代码用于任何系统或服务。

未经授权的使用可能违反适用法律。作者不授予测试第三方系统的许可,且不对滥用行为负责。

有关保修和责任条款,请参阅 LICENSE 文件。