危险的 sendmail 行为?

危险的 sendmail 行为?

这里发生了什么??

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

这到底为什么会执行 cat 命令?这至少在 Fedora Core 4 O/S(是的,它很旧,但仍然......)上使用 Postfix 时有效。

这是一个已知(并且已修复)的错误吗?

答案1

我测试了 Postfix 2.7.1-1 (Debian),但这些都不能像您描述的那样工作。cat没有执行。(说实话,我无法想象有什么可能的原因会sendmail仅仅因为它恰好说的是“ ”就执行其参数的任意部分cat。)

当然,如果您执行stracesendmail过程,您可能会看到文件/etc/passwd正在被open()编辑,但这完全正常:sendmail正在查询您帐户的真实名称,以便From:正确填充标题。

strace没有显示任何调用exec*(),除了启动自身的那个sendmail


如果你仍然认为这是一个错误,

  • 尝试一个完全不相关的文件:

    sendmail cat/etc/fstab
    

    fstab是通常不会被读到的东西。

  • 确保sendmail不是 shell 别名或函数:

    $ type sendmail
    sendmail is /usr/sbin/sendmail
    
  • 并更新 Postfix。

    (是的,它很旧了,但是仍然...)

    永远不要抱怨旧软件版本中的错误,除非您已经确认最新版本中也存在错误。

相关内容