Configurações de ambiente em executáveis setuid

4

Estou observando um comportamento curioso ao executar um programa com setuid bit ativado.

O programa foo é de propriedade do usuário bar com conjunto de bits setuid.

Usuário execbar runs foo

foo informa que uma das bibliotecas dinâmicas está inacessível.

A biblioteca dinâmica em questão está localizada em um diretório fora dos caminhos de pesquisa normais ld.so.conf , por isso, ela é definida via LD_LIBRARY_PATH para o usuário execbar

A pergunta é: A execução de um programa com setuid limpa o ambiente definido pelo usuário execbar ?

    
por Karlson 18.09.2012 / 22:43

1 resposta

8

Não, mas o vinculador dinâmico ignorará algumas variáveis de ambiente quando executado com o setuid, caso contrário, você poderá fazer com que ele seja carregado e execute qualquer código como o usuário de destino. Isso vale para LD_LIBRARY_PATH , LD_PRELOAD e mais. Veja ld.so (8) .

    
por 18.09.2012 / 22:59