[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