security fix for optional ADC (admin-defined command) feature

Thanks to Dylan Simon for catching it...
This commit is contained in:
Sitaram Chamarty 2011-02-15 14:58:42 +05:30
parent 9b5793f2d1
commit 4ce00aef84

View file

@ -154,6 +154,7 @@ die "server is in slave mode; you can only fetch\n"
if ($GL_ADC_PATH and -d $GL_ADC_PATH) {
my ($cmd, @args) = split ' ', $ENV{SSH_ORIGINAL_COMMAND};
if (-x "$GL_ADC_PATH/$cmd") {
die "I don't like $cmd\n" if $cmd =~ /\.\./;
# yes this is rather strict, sorry.
do { die "I don't like $_\n" unless $_ =~ $ADC_CMD_ARGS_PATT } for ($cmd, @args);
&log_it("$GL_ADC_PATH/$ENV{SSH_ORIGINAL_COMMAND}");