Gefährliches Sendmail-Verhalten?

470
user50328

Was ist denn hier los??

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

Warum in aller Welt führt dies tatsächlich den cat-Befehl aus? Dies funktioniert zumindest bei Fedora Core 4 O / S (ja, es ist alt, aber immer noch ...) mit Postfix.

Ist das ein bekannter (und behobener) Fehler?

0

1 Antwort auf die Frage

3
grawity

Ich habe Postfix 2.7.1-1 (Debian) getestet und keines davon funktioniert wie von Ihnen beschrieben. catwird nicht ausgeführt. (Und um ehrlich zu sein, ich kann mir keinen möglichen Grund vorstellen, warum sendmailein beliebiger Teil seines Arguments ausgeführt werden sollte, nur weil es zufällig " cat" heißt.)

Klar, wenn man stracedas sendmailVerfahren, können Sie die Datei zu sehen /etc/passwdsein open()ed, aber das ist ganz normal: sendmailist der Name Ihres Kontos abfragen, um die zu füllen From:Header richtig.

Zeigt straceaber keine Anrufe an exec*(), außer dem, der sich sendmailselbst startet .


Wenn Sie immer noch glauben, dass dies ein Fehler ist,

  • Versuchen Sie stattdessen eine völlig unabhängige Datei:

    sendmail cat/etc/fstab 

    Hier fstabist etwas, was normalerweise nie gelesen würde.

  • Stellen Sie sicher, dass sendmailes sich nicht um einen Shell-Alias ​​oder eine Funktion handelt:

    $ type sendmail sendmail is /usr/sbin/sendmail 
  • Und aktualisieren Sie Postfix.

    (ja, es ist alt, aber immer noch ...)

    Beschweren Sie sich niemals über Fehler in alten Softwareversionen, es sei denn, Sie haben bestätigt, dass sie auch in der absolut neuesten Version vorhanden sind.

Vielen Dank für die Antwort. Bei meinen Tests auf Exploits in einem anderen Softwarepaket stellte sich heraus, dass ich versehentlich das andere Paket dazu gebracht hatte, die passwd-Datei tatsächlich in die sendmail-Binärdatei zu schreiben (zu überschreiben). Wenn ich also die sendmail-Binärdatei starte, wird nur versucht, die Kopie der Datei / etc / passwd auszuführen. Das war also ein leichtes Missverständnis von meiner Seite. Ich entschuldige mich und danke für die sehr nette und hilfreiche Antwort. user50328 vor 13 Jahren 0