Horizon3.aiは、Fortinet FortiSIEMの重大な脆弱性「CVE-2026-106173」について、概念実証(PoC)エクスプロイトを公開しました。この脆弱性を悪用すると、認証なしの攻撃者が任意のファイル書き込みをリモートコード実行(RCE)へとつなげることができます。
脆弱性診断サービス
研究者のZach Hanley氏は、Fortinetが10月13日にセキュリティアドバイザリを公開したことを受け、10月20日に技術的な分析結果を発表しました。
この脆弱性は、製品のgRPC通信サービスに存在します。攻撃者は認証情報なしで、実行可能なスクリプトを上書きできます。
Horizon3.aiが以前公表したFortiSIEMに関する調査では、TCPポート7900のphMonitorが標的でした。今回の攻撃は、これとは異なり、TCPポート27918のphQueryMasterに到達します。
Fortinet FortiSIEMのRCE脆弱性
公開された調査によると、phQueryMasterは複数のネットワークインターフェースにまたがるアドレスでgRPCサーバーを起動します。このサービスは暗号化にTLSを使用していますが、クライアント証明書は要求しません。そのため、ネットワークにアクセスできるリモートのクライアントであれば、認証なしで脆弱な機能を悪用できます。
脆弱なSendQueryResult RPCは、ストリーミングされるファイルの内容とメタデータを受け付けます。メタデータには、クエリ識別子、送信元アドレス、レポート期間が含まれます。ハンドラーは、クエリ識別子と本来の結果ディレクトリを連結して出力先ディレクトリを決定します。しかし、渡されたパスを十分に検証していません。
その結果、攻撃者はクエリ識別子にディレクトリトラバーサルのシーケンスを挿入し、想定された保存領域の外へ書き込みを誘導できます。当初は、悪用の範囲が限られるように見えました。アプリケーションが生成するファイル名には、送信元アドレス、タイムスタンプ、サーバー側で制御されるカウンター、固定の拡張子が含まれるためです。
しかしHanley氏は、メタデータの処理が攻撃者の指定したヌルバイトをそのまま保持することを発見しました。生成されたパスがファイルシステムの操作に渡されると、ヌルバイトでパス名が終端されます。アプリケーションが付加するサフィックスは破棄され、攻撃者は狙ったファイル名を正確に指定できるようになります。
この特性により、脆弱性の危険性は高まります。攻撃者は予測できない名前でデータを置くだけでなく、既存のファイルを上書きできるからです。上書き時には既存の所有権とパーミッションが変わらないため、リスクはさらに大きくなります。
Horizon3.aiは、`/opt/charting/redishb.sh`を標的にしてコード実行を実証しました。このスクリプトはRedisのヘルスチェック用で、cronジョブによって60秒ごとに実行されます。サービスの管理者権限のコンテキストで書き込みが可能なため、内容を置き換えると、スケジュールされたタスクが攻撃者の制御するコマンドを実行します。
研究者らは、認証なしの攻撃チェーン全体を示すPoCをGitHubで公開しました。このエクスプロイトは公開されており再現も可能ですが、実環境で悪用されていることを裏付けるものではありません。
Horizon3.aiの報告によると、悪用を明確に示すアプリケーションログは確認されていません。調査担当者は、`/opt/charting/redishb.sh`と`/opt/phoenix/bin/phLicenseTool`の更新日時と内容を確認する必要があります。特に、周囲のファイルや想定される保守作業と食い違う変更には注意が必要です。
管理者は、Fortinetが公開した該当のセキュリティアップデートの適用を最優先で進めてください。対処が完了するまでは、脆弱なサービスへのアクセスを制限することも重要です。
脆弱性診断サービス
公開された報告書では、影響を受けるバージョンとしてFortiSIEM 7.5.0を挙げ、7.5.1以降へのアップグレードを推奨しています。本番環境の対処方針を決める前に、アドバイザリFG-IR-26-180と照らして自社の環境を確認することが求められます。
サイバー脅威を被害が出る前に阻止し、MTTRを21分短縮。ANYRUNのサンドボックスをSOCに統合。
翻訳元: https://gbhackers.com/critical-fortinet-fortisiem-rce-vulnerability/