Cacti の SNMP 処理におけるコマンド実行リスクが判明

オープンソースの Cacti ネットワーク監視プラットフォームに新たに開示された脆弱性により、認証済みユーザーが任意のシステムコマンドをリモートで実行できてしまい、監視環境全体が危険にさらされています。 

このコマンドインジェクションの欠陥は 1.2.28 までのすべてのバージョンに影響し、Cacti の SNMP デバイス設定インターフェースにおける不適切な入力検証に起因しています。 

この脆弱性は「…Cacti プロセスの権限で意図しないコマンド実行につながる可能性がある」と、Cacti はアドバイザリの中で述べています

Cacti の SNMP フィールド脆弱性の解説

CVE-2025-6639 の欠陥は、Cacti 管理者が監視対象デバイスを追加・変更する際に SNMP コミュニティ文字列を処理するコンポーネントである host.php に由来します。 

脆弱なコードパスは、Cacti が get_nfilter_request_var() 関数を通じてユーザー入力を取得するところから始まりますが、この関数は改行文字、セミコロン、パイプ、バッククォート、その他のシェルメタ文字を除去しません。 

この見落としにより危険な入力がすり抜けてしまい、さらに空の正規表現を用いて form_input_validate() を呼び出しているため、事実上サニタイズが完全に無効化されていることで問題が悪化しています。

この二重の不備により、攻撃者は SNMP コミュニティフィールド内に改行区切りのシェルコマンドを埋め込むことができます。これらの悪意あるペイロードは、そのままの形で Cacti のデータベースに保存されます。 

その後 Cacti が SNMP ポーリングやディスカバリ処理を実行する際、これら保存された値を用いてバックエンドのシステムコマンドを構築します。 

基盤となるコマンドラインユーティリティは改行文字をコマンドセパレータとして解釈するため、注入された各ペイロードは Cacti プロセスの権限で個別のシェルコマンドとして実行されてしまいます。

Proof-of-Concept(PoC)エクスプロイトにより、攻撃者が SNMP コミュニティ文字列に Bash コマンドを注入し、リバースシェルを起動したり、設定ファイルを流出させたり、新たなシステムユーザーを作成したり、永続的なバックドアを設置したりできることが確認されています。 

実運用環境では、Cacti がネットワーク監視ツールへアクセスするために高い権限で動作していることが多いため、攻撃が成功すると、監視テレメトリの改ざん、悪意あるバイナリの設置、信頼されたネットワーク経路を介した横移動、さらには Cacti サーバーの完全な掌握を許してしまう可能性があります。 

Cacti 導入環境を強化するための必須ステップ

Cacti のコマンドインジェクションの欠陥が監視インフラに深刻なリスクをもたらしていることから、組織は迅速に導入環境を強化し、露出を減らす必要があります。 

  • Cacti をバージョン 1.2.29 以降にアップデートし、このインジェクションの欠陥を完全にパッチ適用してください。
  • Cacti のデバイス設定インターフェースへのアクセスを制限し、信頼された管理ユーザーのみに許可してください。
  • Cacti を非特権のサービスアカウントで実行し、厳格な RBAC を適用してデバイス設定の変更権限を制限してください。
  • SNMP コミュニティ文字列および Cacti データベースエントリを監査し、不審または不正な形式の入力がないか確認してください。
  • WAF やサーバー側の入力フィルタを使用して、SNMP フィールド内の改行文字およびシェルメタ文字をブロックしてください。
  • 監視対象として Cacti の子プロセス、コマンド実行、および外向きネットワーク接続を含め、悪用の兆候がないか確認してください。
  • Cacti サーバーを機密性の高いシステムから分離し、横移動およびデータ流出リスクを低減するために外向き接続を制限してください。

これらのステップを組み合わせることで、攻撃経路を減らし、システムの完全性を強化することでサイバー・レジリエンスを高めることができます。

この脆弱性は、レガシーおよびオープンソースのネットワーク管理ツールに長年存在する弱点を浮き彫りにしています。すなわち、管理インターフェースはしばしば高い権限を持つ複雑な設定フィールドを処理しており、入力検証が破綻するとそれらが実行ベクターになってしまうという点です。 

脅威アクターがステルス性、永続性、横移動の機会を得るために監視プラットフォームを標的とする中、このような脆弱性は、あらゆる入力ポイントにおいて管理ワークフローを堅牢化し、厳格なサニタイズを行う必要性を強調しています。 

これは、現代の環境には、あらゆる入力・アイデンティティ・システムが侵害されうると想定する ゼロトラスト 制御が必要であるという明確なリマインダーです。 

翻訳元: https://www.esecurityplanet.com/threats/command-execution-risk-found-in-cactis-snmp-handling/

ソース: esecurityplanet.com