Comportamento perigoso do sendmail?

0

O que está acontecendo aqui?

sendmail cat/etc/passwd
sendmail cat\etc\passwd
sendmail xxxcat/etc/passwd

Por que no mundo isso realmente executa o comando cat? Isso funciona pelo menos no Fedora Core 4 O / S (sim, é antigo, mas ainda assim ...) com o Postfix.

Este é um bug conhecido (e fixo)?

    
por user50328 24.09.2010 / 13:52

1 resposta

3

Eu testei o Postfix 2.7.1-1 (Debian) e nenhum desses trabalhos como você descreveu. cat não é executado. (E, para ser honesto, não consigo imaginar nenhuma razão possível pela qual sendmail executaria uma parte arbitrária de seu argumento apenas porque, por acaso, diz " cat ".)

Claro, se você strace o sendmail process, talvez veja o arquivo /etc/passwd sendo open() ed, mas isso é completamente normal: sendmail está consultando o nome real da sua conta, para preencha o cabeçalho From: corretamente.

Mas strace não mostra nenhuma chamadas para exec*() , exceto a que lança sendmail em si.

Se você ainda acredita que isso é um bug,

  • tente um arquivo completamente não relacionado:

    sendmail cat/etc/fstab
    

    Aqui fstab é algo que normalmente nunca seria lido.

  • verifique se sendmail não é um alias ou função do shell:

    $ type sendmail
    sendmail is /usr/sbin/sendmail
    
  • Atualize o postfix.

    (yes, it's old, but still...)

    Nunca reclame de erros em versões antigas de software, a menos que tenha confirmado que eles também estão presentes na versão absolutamente mais recente.

por 24.09.2010 / 14:39