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() 関数は改行文字を削除せず、シェルのメタ文字を検証せずにユーザー入力を取得してしまう。
| Detail | Data |
|---|---|
| CVE ID | CVE-2025-66399 |
| Affected Product | Cacti (PHP-based network monitoring) |
| CVSS Severity | High |
| CWE Category | CWE-20: Improper Input Validation |
| Attack Vector | Network-based, requires authentication |
その後の form_input_validate() 呼び出しで、空の正規表現パターンが使用されるため、フィルタリングが無効化されてしまう。このサニタイズ・バイパスにより、攻撃者は改行で区切られたコマンドを挿入し、その状態をデータベースに保存できる。
そのため、Cacti がバックエンド SNMP 操作を実行する際の、下流の SNMP ツールのシェル解釈などにおいて、それらの改行区切りトークンがコマンド境界として解釈される可能性がある。この脆弱性を悪用する攻撃者は、Cacti プロセスの権限で悪意のコマンドをトリガーし、Cacti 監視プロセスと同じ権限で実行できるようになる。
その結果として、一般的なデプロイメント・シナリオにおいて、監視データの不正変更が引き起こされる可能性がある。具体的には、任意システム・コマンドの実行/不正なファイル書込/ Cacti サーバの完全侵害などに至る恐れがある。
この攻撃の前提として必要になるのは、低権限の認証済みアクセス権のみであるため、複数チームが監視コンフィグを管理するマルチ・ユーザー環境で特に危険となる。
Cacti の PoC 付きアドバイザリでは、攻撃者が SNMP コミュニティ・フィールドに bash コマンドを埋め込む手順が解説されている。それにより、外部サーバへのリバースシェルが確立され、監視システムへの完全制御が可能となる。
重要なネットワーク・インフラと統合されることが多い Cacti は、管理対象デバイスへの高権限アクセスを持つ可能性があるため、この脆弱性は特に懸念される。
管理者にとって必要なことは、SNMP コミュニティ文字列に対する適切な入力検証を実装した、Cacti バージョン 1.2.29 へと速やかにアップグレードすることである。
迅速なパッチ適用が不可能な組織は、デバイス・コンフィグ・インターフェイスへのアクセスを制限すると同時に、既存の SNMP コミュニティ文字列の異常を監査する必要がある。
Cacti に発見された脆弱性は、SNMP コミュニティ文字列の入力検証が不十分だったことに起因し、改行や制御などの文字を、そのまま処理してしまう点に問題があります。この欠陥により、認証済みユーザーであれば悪意のコマンドを挿入でき、監視システム全体を侵害できてしまいます。特に、複数のチームが利用する環境では、低権限でも悪用できる点がリスクを大きくすると、この記事は指摘しています。ご利用のチームは、ご注意ください。よろしければ、Cacti での検索結果も、ご参照ください。
You must be logged in to post a comment.