お世話になっております。
アクションの実行にスクリプトを選択した場合にコマンドラインインジェクションができてしまうケースがあるように思い、認識正しいかご存じの方いれば教えていただきたいです。
zabbixバージョン:2.0.8
アクション設定の「メッセージ」:{ITEM.VALUE}
このような設定で、アラート検知時の値が「`hostname`」のようだった場合、メッセージ内容が「`hostname`」となり、スクリプト実行時にZabbixサーバ上でhostnameコマンドが実行されます。
alerter.cを見るとコマンドライン引数は全て二重引用符で囲まれてスクリプトに渡されているためにバッククォートの中身が評価されているのだと思います。
この実装である限り、例えばログ監視で悪意のある行を出力した場合にコマンドラインインジェクションが可能になると考えますが正しいでしょうか?
また、これを回避するにはalerter.cを修正するなどZabbixじたいの修正が必要と考えています。