alertscriptでのコマンドラインインジェクション
お世話になっております。
アクションの実行にスクリプトを選択した場合にコマンドラインインジェクションができてしまうケースがあるように思い、認識正しいかご存じの方いれば教えていただきたいです。
zabbixバージョン:2.0.8
アクション設定の「メッセージ」:{ITEM.VALUE}
このような設定で、アラート検知時の値が「`hostname`」のようだった場合、メッセージ内容が「`hostname`」となり、スクリプト実行時にZabbixサーバ上でhostnameコマンドが実行されます。
alerter.cを見るとコマンドライン引数は全て二重引用符で囲まれてスクリプトに渡されているためにバッククォートの中身が評価されているのだと思います。
この実装である限り、例えばログ監視で悪意のある行を出力した場合にコマンドラインインジェクションが可能になると考えますが正しいでしょうか?
また、これを回避するにはalerter.cを修正するなどZabbixじたいの修正が必要と考えています。
TNK - 投稿数: 4719
バグとして報告されていますが、現時点ですぐの修正予定は無いよ
うです。
https://support.zabbix.com/browse/ZBX-4529
他の方から頂いたご質問にも回答させて頂いていますが、現時点で
は、alerter.cなどを修正して回避するなどの対応が必要だと思われま
す。
ご参考:
http://www.zabbix.jp/node/2651
mkt - 投稿数: 41
やはりそうなのですね。
回答ありがとうございました。