[Cascavel-pm] perl Insecure dependency in kill
Daniel Ruoso
daniel em ruoso.com
Terça Abril 13 09:06:16 PDT 2010
Em Ter, 2010-04-13 às 12:44 -0300, Leonardo Reginin escreveu:
> O meu caso é justamente o problema com setuid e setgid. O programas
> que estão apresentando mensagem de erro semelhante, assim como o MRTG
> ( que executo como serviço no BSD ), são serviços que fazem fork
> executando o processo filho com outro usuário.
> Eu até achei um workaround usando a switch -U na chamada do perl porém
> isto é POG e não me agrada.
O que acontece é que o MRTG não parece ser Taint-safe. Se você se
preocupa com segurança, o mais interessante seria você começar a fazer
patches no código para que ele passe a ser taint-safe.
Por exemplo, no caso do kill, você provavelmente só precisa se
certificar que o parâmetro sendo passado é efetivamente um número.
my $incoming = shift;
# kill 0, $incoming; # this fails in taint mode
$incoming =~ /\D*(\d+)\D*/;
my $pid = $1;
kill 0, $pid;
E então o código passará a ser Taint-safe...
Seria, sem dúvida, uma constribuição valiosa para o código do MRTG.
daniel
Mais detalhes sobre a lista de discussão Cascavel-pm