
strongSwan VPNサーバーにおけるCVE-2026-25075用の非破壊的脆弱性スキャナ。中断を引き起こすことなく、巧妙に細工されたAVPを介してEAP-TTLSプラグインの整数アンダーフローを検出します。
strongSwan VPN サーバーが CVE-2026-25075 に対して脆弱かどうかを、サービスを停止させることなく安全に検出します。詳細は Bishop Fox ブログ の完全な解説記事をご覧ください。
CVE-2026-25075 は、strongSwan の EAP-TTLS プラグインにおける整数アンダーフロー脆弱性であり、リモートの認証されていない攻撃者が特別に細工した EAP-TTLS メッセージを送信することで IKE デーモンをクラッシュさせることができます。この脆弱性は strongSwan バージョン 4.5.0 から 6.0.4 までのすべてのバージョンに影響し、15 年以上にわたるリリースに及びます。
このツールは、以下の方法で非破壊的な脆弱性テストを実施します。
length=1 でデータペイロードを持たないテスト用 AVP(Attribute-Value Pair)の送信データを伴わない無効な長さフィールドを持つ AVP ヘッダーを送信すると、検出目的で整数アンダーフローがトリガーされますが、memcpy(ptr, data, 0) はノーオペレーションであるため、ヒープ破壊は回避されます。サーバーは安定した状態を保ち、接続の処理を継続できます。
脆弱なサーバー は、不正な AVP を受け入れ、EAP-TTLS 確認応答を送信するため、CVE-2026-25075 の存在が確認されます。
パッチ適用済みサーバー(6.0.5+)は、修正で導入された検証チェックにより、不正な AVP を拒否します。
影響を受けないサーバー は EAP-TTLS ハンドシェイクを実行できないため、この脆弱性は実質的に緩和されています。
git clone https://github.com/BishopFox/CVE-2026-25075-check
cd CVE-2026-25075-check
python3 -m pip install pycryptodome tlslite-ng
<TARGET>:<PORT> で strongSwan サーバーをテストします。デフォルトの IKE ポートは 500/UDP です。
python3 CVE-2026-25075-check.py <TARGET> [PORT]
$ python3 CVE-2026-25075-check.py 192.168.1.100 500
======================================================================
strongSwan CVE-2026-25075 Vulnerability Scanner
Non-Destructive Detection
======================================================================
[*] Target: 192.168.1.100:500
[*] Testing for CVE-2026-25075 (non-destructive)
[1] IKE_SA_INIT... OK
[2] IKE_AUTH... OK
[3] EAP Identity... OK
[4] TLS handshake... OK
[5] Sending test AVP with length=1 (header only, no data)... SENT
[*] Analyzing server response...
[+] Server sent EAP-TTLS ACK (waiting for more data)
[!] Server accepted AVP with length < 8
[!] Integer underflow vulnerability confirmed
======================================================================
RESULT: VULNERABLE to CVE-2026-25075
Server version likely: 4.5.0 - 6.0.4
Recommendation: Upgrade to strongSwan 6.0.5+
======================================================================
$ python3 CVE-2026-25075-check.py 192.168.1.200 500
======================================================================
strongSwan CVE-2026-25075 Vulnerability Scanner
Non-Destructive Detection
======================================================================
[*] Target: 192.168.1.200:500
[*] Testing for CVE-2026-25075 (non-destructive)
[1] IKE_SA_INIT... OK
[2] IKE_AUTH... OK
[3] EAP Identity... OK
[4] TLS handshake... OK
[5] Sending test AVP with length=1 (header only, no data)... SENT
[*] Analyzing server response...
[!] No response from server
[-] Connection likely closed (AVP rejected)
======================================================================
RESULT: NOT VULNERABLE (or patched)
Server rejected AVP with invalid length
======================================================================
このツールは、以下の条件が満たされている場合にのみ脆弱性を検出できます。
いずれかの条件が満たされない場合、ツールは該当する段階で正常に失敗し、INCONCLUSIVE の結果を報告します。例:
このコードは MIT ライセンス の下で配布されています。
事前の相互同意なしにターゲットを攻撃するためにこのツールを使用することは違法です。適用されるすべての地域、州、連邦の法律を遵守する責任はエンドユーザーにあります。開発者は一切の責任を負わず、このプログラムによって引き起こされた誤用や損害について責任を負いません。