
Linuxカーネルの`icmp_tag_validation()`におけるNULLポインタ参照の概念実証エクスプロイト。細工したICMPパケットによりリモートからのサービス拒否(DoS)を可能にします。
Linuxカーネル icmp_tag_validation() ヌルポインタ参照(リモートDoS)
net/ipv4/icmp.c の icmp_tag_validation() は、inet_protos[proto] をNULLチェックなしで参照します。リモートの攻撃者は、未登録の内部プロトコル番号を持つ単一の細工されたICMP Fragmentation Neededパケットを送信することで、softirqコンテキストでカーネルをクラッシュさせることができます。
影響を受けるバージョン: コミット 614aefe56af8(mainline)/ d938dd5a0ad7(stable 6.12)より前のLinuxカーネル
sudo python3 poc.py --target <TARGET_IP> # 単一パケット、proto 253
sudo python3 poc.py --target <TARGET_IP> --proto 252 # 代替の未登録プロトコル
sudo python3 poc.py --target <TARGET_IP> --count 5 # 繰り返し実行
net.ipv4.ip_no_pmtu_disc = 3icmp_tag_validation()このプロジェクトはGNU GPLv3の下で公開されています。
本プロジェクトは、防御的なセキュリティ研究、教育、および許可されたテストのために提供されています。所有者から明示的な許可を得ずに、このコードをシステムやサービスに対して使用しないでください。
許可のない使用は、適用される法律に違反する可能性があります。著者は第三者システムのテストを許可しておらず、誤用についての責任を負いません。
保証および賠償責任の条件については、LICENSEファイルを参照してください。