diff options
author | Steve Kemp <steve@steve.org.uk> | 2012-11-19 14:07:01 +0000 |
---|---|---|
committer | Steve Kemp <steve@steve.org.uk> | 2012-11-19 14:07:01 +0000 |
commit | 0f7b20ff39f2f155813510dc25f7b46074c6d34a (patch) | |
tree | 8428c574d2d43c932cc3cb258136f21e73376785 /lib/custodian/parser.rb | |
parent | b32255580a14dabbb6f514a81fc252f2b627759d (diff) |
Ensure that hostnames used for ping-tests are valid - to avoid the security hole.
Diffstat (limited to 'lib/custodian/parser.rb')
-rw-r--r-- | lib/custodian/parser.rb | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/lib/custodian/parser.rb b/lib/custodian/parser.rb index 77adc48..ea25c3a 100644 --- a/lib/custodian/parser.rb +++ b/lib/custodian/parser.rb @@ -373,6 +373,16 @@ class MonitorConfig :timeout => @timeout } + # + # Sanity check the hostname for ping-tests, to + # avoid this security hole: + # + # $(/tmp/exploit.sh) must run ping .. + # + if ( service == "ping" ) + raise ArgumentError, "Invalid hostname for ping-test: #{host}" unless( host =~ /^([a-zA-Z0-9:\-\.]+)$/ ) + end + # # Alert text will have a default, which may be overridden. |