Cacti の脆弱性 CVE-2025-66399 が FIX:SNMP 入力検証の不備と PoC の提供

Cacti Command Injection Vulnerability Let Attackers Execute Malicious Code Remotely

2025/12/05 CyberSecurityNews — Cacti に存在する、深刻なコマンド・インジェクションの脆弱性 CVE-2025-66399 を悪用する認証済みの攻撃者は、リモートから任意コードを実行する機会を得る。その結果として、このオープンソースのネットワーク監視ツールの、インフラ全体が侵害される可能性がある。この脆弱性は、SNMP コミュニティ文字列を処理するデバイス管理インターフェイス (host.php) の、デバイス・コンフィグ機能の入力検証の不備に起因し、バージョン 1.2.28 以下に影響を及ぼす。

リモートからの任意コマンド実行の可能性

認証済みのユーザーが監視デバイスを設定する際に、このアプリケーションは snmp_community フィールドからの改行文字を含む制御文字をフィルタリングできない。したがって get_nfilter_request_var() 関数は改行文字を削除せず、シェルのメタ文字を検証せずにユーザー入力を取得してしまう。

DetailData
CVE IDCVE-2025-66399
Affected ProductCacti (PHP-based network monitoring)
CVSS SeverityHigh
CWE CategoryCWE-20: Improper Input Validation
Attack VectorNetwork-based, requires authentication

その後の form_input_validate() 呼び出しで、空の正規表現パターンが使用されるため、フィルタリングが無効化されてしまう。このサニタイズ・バイパスにより、攻撃者は改行で区切られたコマンドを挿入し、その状態をデータベースに保存できる。

そのため、Cacti がバックエンド SNMP 操作を実行する際の、下流の SNMP ツールのシェル解釈などにおいて、それらの改行区切りトークンがコマンド境界として解釈される可能性がある。この脆弱性を悪用する攻撃者は、Cacti プロセスの権限で悪意のコマンドをトリガーし、Cacti 監視プロセスと同じ権限で実行できるようになる。

その結果として、一般的なデプロイメント・シナリオにおいて、監視データの不正変更が引き起こされる可能性がある。具体的には、任意システム・コマンドの実行/不正なファイル書込/ Cacti サーバの完全侵害などに至る恐れがある。

この攻撃の前提として必要になるのは、低権限の認証済みアクセス権のみであるため、複数チームが監視コンフィグを管理するマルチ・ユーザー環境で特に危険となる。

Cacti の PoC 付きアドバイザリでは、攻撃者が SNMP コミュニティ・フィールドに bash コマンドを埋め込む手順が解説されている。それにより、外部サーバへのリバースシェルが確立され、監視システムへの完全制御が可能となる。

重要なネットワーク・インフラと統合されることが多い Cacti は、管理対象デバイスへの高権限アクセスを持つ可能性があるため、この脆弱性は特に懸念される。

管理者にとって必要なことは、SNMP コミュニティ文字列に対する適切な入力検証を実装した、Cacti バージョン 1.2.29 へと速やかにアップグレードすることである。

迅速なパッチ適用が不可能な組織は、デバイス・コンフィグ・インターフェイスへのアクセスを制限すると同時に、既存の SNMP コミュニティ文字列の異常を監査する必要がある。