OWN NEWS GATHER
← 戻る
The Hacker News

Fortinet「FortiSIEM」の重大な脆弱性、未認証RCEを可能にする実証コードが公開

要点

  • セキュリティ研究チームが、Fortinetの統合ログ管理製品「FortiSIEM」に存在する重大な脆弱性(CVE-2026-106173)の実証コード(PoC)を公開した。

  • 本脆弱性は認証を必要とせず、細工されたパケットを送信することで外部から任意のコードを実行できるもので、CVSSスコアは9.4と評価されている。

  • gRPCサービスにおけるパストラバーサルとヌルバイト注入を組み合わせることで、定期実行されるシステムスクリプトなどを任意に上書きできる仕組みだという。

  • Fortinetは前週に対策パッチを公開しており、影響を受けるFortiSIEM 7.5.0向けにバージョン7.5.1以上へのアップグレードを案内している。

  • サイバーセキュリティ企業のHorizon3.aiは2026年10月20日、Fortinetが提供するセキュリティ情報・イベント管理製品「FortiSIEM」で確認された重大なセキュリティ脆弱性について、概念実証コード(PoC:Proof of Concept)を公開した。この脆弱性は認証を経ることなく遠隔から不正なコードを実行できるもので、共通脆弱性評価システム(CVSS)のスコアは9.4と算出されている。影響を受けるバージョンに対しては、Fortinetより前週に修正パッチが提供されている。

脆弱性の概要と深刻度

今回PoCが公開されたのは、「CVE-2026-106173」として管理されているFortiSIEMのパストラバーサル(ディレクトリ巡回)の脆弱性である。パストラバーサルとは、ファイルパスの指定を不正に操作して想定外のディレクトリにあるファイルへアクセスする手法を指す。Fortinetが公開したセキュリティアドバイザリ(FG-IR-26-180)によると、本脆弱性の深刻度はCVSSスコア9.4と評価されており、リモートからの悪用が可能な極めて重大な欠陥と位置づけられている。

この欠陥が悪用された場合、攻撃者は認証情報を一切持たない状態であっても、ネットワーク越しに特殊なパケットを送信するだけで、システム上で不正なコードやコマンドを実行することが可能になるという。

gRPCサービスを標的とした攻撃の仕組み

Horizon3.aiの解析によると、この脆弱性はFortiSIEMがTCPポート27918で稼働させているgRPCサービスに起因している。gRPCとは、Googleが主導して開発した効率的な通信を行うためのフレームワークである。

問題が発生するのは、このサービス内で動作する「QueryResultReq」と呼ばれるリクエスト処理ハンドラである。このハンドラは、外部から受け取った信頼できないメタデータを処理する際、ファイルパスの妥当性を適切に検証していないという。具体的には、「SendQueryResult()」という関数において、ユーザー側から送られてくる「query-id」パラメータが不十分な検証のまま直接処理へ渡される仕様になっていた。

攻撃者はこの不備を利用し、通信層(HTTP/2およびHPACKエンコーディング層)を通じて「../」といったディレクトリを遡る文字列を含んだメタデータを送信する。これにより、システムが意図した保存先ディレクトリを抜け出し、ファイルシステム上の別の場所へアクセスすることが可能となる。

ヌルバイト注入によるファイル名制限の突破

ただし、パストラバーサル単体では自由なコード実行には至らない構造になっていた。FortiSIEMのプログラムは、指定されたパスの後ろにサーバー側で自動生成したファイル名(「result-<送信元IPアドレス>-0-0-<id>.dat」形式、<id>はサーバー管理のカウンター値)を強制的に追加する仕様になっていたためである。攻撃者は任意のディレクトリへ到達できたとしても、書き込むファイルの名前までは自由に指定できない制約があった。

この制限を回避するために用いられたのが、ヌルバイト(「\0」)の注入という第2の弱点である。攻撃者が送信する「query-id」パラメータ内にヌルバイトを埋め込むと、基盤となるオペレーティングシステム(OS)はヌルバイトを文字列の終端として解釈する。その結果、プログラムがパスの末尾に自動的に付け足したファイル名サフィックス(「result-…」)がファイルオープン関数に渡される段階で無視され、切り捨てられることになる。

Horizon3.aiはこの挙動を利用することで、ヌルバイトの直前に記述された通りのファイルパスおよびファイル名に対して、狙い通りにファイル書き込みを実行できることを突き止めた。

定期実行スクリプトの上書きとコード実行

このファイル書き込み機能がどのようにしてリモートコード実行(RCE)へとつながるのかについて、Horizon3.aiは具体的な攻撃経路を明らかにしている。

標的の一例として挙げられているのが、パスとして「../../../../../opt/charting/redishb.sh\0...」を指定して書き込む手法である。この対象となっている「redishb.sh」は、インメモリデータストアであるRedisサービスの稼働状態を監視するためのシェルスクリプトであり、システムの定期タスク管理機能(cron)によって60秒ごとに自動実行されている。

Horizon3.aiのチーフ・アタック・エンジニアを務めるZach Hanley氏は、「書き込みは、ヌルバイトの直前に指定された正確なパスに対して実行される。既存のファイルを指定した場合、元の所有者やアクセス権限を維持したままその場で上書きされる。また、2回のリクエストを送信して完全に新しい名前のファイルを新規作成するバリエーションも存在する」と説明している。

つまり、攻撃者は認証なしで外部からgRPCサービス経由でこの監視スクリプトの内容を悪意あるコードに書き換えることができ、最大でも60秒後にはcronによってスクリプトが自動的に実行され、リモートコード実行が達成されるという流れである。

影響を受けるバージョンとパッチ提供

Fortinetは、この脆弱性CVE-2026-106173を修正するセキュリティアップデートを前週にリリースしている。公開情報による影響範囲および対応状況は以下の通りである。

  • FortiSIEM 7.5.0: 本脆弱性の影響を受けるため、バージョン7.5.1以降へのアップグレードが必要
  • FortiSIEM 7.6: 本脆弱性の影響を受けない

今回、脆弱性の技術的詳細と併せて実証コードが公開されたことで、攻撃手法の全容が明らかになった形だ。

元URL