Comportamento perigoso do sendmail?

0

Oque esta 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.

Isso é um bug conhecido (e fixo)?

user50328
fonte

Respostas:

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 por que sendmail executar uma parte arbitrária do seu argumento apenas porque acontece de dizer " cat ".)

Claro, se você strace a sendmail processo, você pode ver o arquivo /etc/passwd ser open() ed, mas isso é completamente normal: sendmail está consultando o nome real da sua conta para preencher o From: cabeçalho corretamente.

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


Se você ainda acredita que isso é um bug,

  • tente um arquivo completamente não relacionado em vez disso:

    sendmail cat/etc/fstab
    

    Aqui fstab é algo que normalmente nunca seria lido.

  • certificar-se de que sendmail não é um alias ou função do shell:

    $ type sendmail
    sendmail is /usr/sbin/sendmail
    
  • E atualize o Postfix.

    (sim, é velho, mas ainda assim ...)

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

grawity
fonte
Muito obrigado pela resposta. Acontece que no meu teste de exploits em outro pacote de software, eu inadvertidamente recebi o outro pacote para realmente colocar o arquivo passwd em (sobrescrevendo) o binário do sendmail. Então agora, quando eu executo o binário do sendmail, ele está apenas tentando executar a cópia do arquivo / etc / passwd. Então isso foi um pequeno mal-entendido da minha parte. Minhas desculpas, e obrigado pela resposta muito agradável e útil.
user50328