リモートから悪用可能な Comodoのゼロデイ脆弱性 が発見されました。Comodo Internet Securityのカーネルレベルのファイアウォールドライバーに存在するこの脆弱性を利用すると、攻撃者は1つのIPv6パケットを送信するだけでWindowsシステムをクラッシュさせることができます。ベンダーはいまだに対応していません。
セキュリティ研究者のMarcus Hutchinsは2026年6月3日、この脆弱性を公開しました。ベンダーへの連絡を複数回試みたものの返答が得られなかったため、公開に踏み切ったとしています。
「ComoDoS」と名付けられたこの脆弱性は、ComodoのファイアウォールカーネルドライバーであるInspect.sysに存在します。標的のWindowsマシンに対してリモートからサービス妨害(DoS)攻撃を仕掛け、ブルースクリーン(BSOD)を引き起こすことが可能です。
脆弱性の仕組み
この脆弱性の根本原因は、Inspect.sys内のIPv6拡張ヘッダーパーサーにあります。受信したIPv6パケットを処理する際、ドライバーはパケットのペイロード長を変数(packet_desc->payload_length)に格納します。この値は、IPv6固定ヘッダーのペイロード長フィールドを通じて攻撃者が完全にコントロールできます。

パーサーがIPv6拡張ヘッダーを順に処理する際、各ヘッダーの長さをpacket_desc->payload_lengthから減算していきます。問題は、ドライバーがペイロード長フィールドを一切検証しない点にあります。攻撃者が拡張ヘッダーの合計サイズよりも小さいペイロード長を設定すると、符号なし64ビット整数がアンダーフローし、約18京(0xFFFFFFFFFFFFFFF8)という巨大な値にラップアラウンドします。
この脆弱性はファイアウォールドライバー自体に存在するため、悪意のあるパケットはファイアウォールルールが適用される前に解析されます。つまり、すべてのポートをブロックする設定にしていても、この攻撃は有効です。
概念実証(PoC)
HutchinsはComoDoSという名称でPoC(概念実証コード)をGitHub上で公開しました。エクスプロイトは驚くほどシンプルです。
ext = IPv6ExtHdrDestOpt(nh=6, options=[PadN(optdata=b"\x00" * 8)])
tcp = TCP(sport=1337, dport=80, flags="S", seq=0, ack=1, window=0x2000)
ipv6 = IPv6(dst=dst_ip, nh=60, hlim=64, plen=8)
pkt = ipv6 / ext / tcp
send(packet)
不正なIPv6パケットを1つ送信するだけで、標的システムをクラッシュさせることができます。Hutchinsが「宛先オプション」拡張ヘッダー(nh=60)を選んだのは、中間ルーターによってドロップされる可能性が最も低く、リモートからの悪用の信頼性が高まるためです。
この整数アンダーフローによって、境界外(OOB)読み取りと到達可能なOOB書き込みプリミティブも引き起こされますが、Hutchinsはリモートコード実行(RCE)の可能性は低いと評価しています。
OOB読み取りは、標準的なHTTPヘッダーを検出すると早期終了するWebDAVアーティファクトスキャナーによって制約されます。一方のOOB書き込みは、破損したサイズ値が32ビットに切り捨てられたmemcpy操作を使用するため、カーネルプールで確実に4GBのオーバーフローが発生し、コードが実行される前にシステムがクラッシュします。
Hutchinsは詳細なレポート、根本原因分析、パッチ推奨事項、およびPoCをComodoのセキュリティチームに提出しましたが、2度のフォローアップを行っても一切返答がありませんでした。また、Comodoには公開バグバウンティプログラムも存在しません。
過去のZDIアドバイザリ(ZDI-24-953)では、同ベンダーがほぼ2年間にわたってパッチ要求を無視していたことが指摘されており、対応不備のパターンが繰り返されています。
現時点では公式パッチはリリースされていません。Comodo Internet Securityを運用している組織は、ネットワーク境界でのIPv6トラフィックの異常を監視するとともに、Comodoが修正プログラムを公開するまでの間、エッジデバイスでIPv6拡張ヘッダー(特に宛先オプション:Next Header = 60)をブロックすることを検討してください。
翻訳元: https://gbhackers.com/comodo-internet-security-0-day-flaw/