Pregunta ¿Comportamiento peligroso de sendmail?


¿¿Que está pasando aqui??

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

¿Por qué en el mundo esto realmente ejecuta el comando cat? Esto funciona al menos en Fedora Core 4 O / S (sí, es viejo, pero aún así ...) con Postfix.

¿Es este un error conocido (y fijo)?


0


origen




Respuestas:


Probé Postfix 2.7.1-1 (Debian) y ninguno de esos funciona como lo describiste. cat no se ejecuta (Y para ser sincero, no puedo imaginar ninguna posible razón por la cual sendmail ejecutar una parte arbitraria de su argumento solo porque dice "cat".)

Claro, si tu strace el sendmail proceso, es posible que vea el archivo /etc/passwd siendo open()ed, pero eso es completamente normal: sendmail está consultando el nombre real de su cuenta, para llenar el From: encabezado correctamente.

Pero strace no muestra alguna llamadas a exec*(), excepto el que lanza sendmail sí mismo.


Si sigues creyendo que esto es un error,

  • prueba un archivo completamente no relacionado en su lugar:

    sendmail cat/etc/fstab
    

    aquí fstab es algo que normalmente nunca se leería.

  • asegurarse sendmail no es un alias o función de shell:

    $ type sendmail
    sendmail is /usr/sbin/sendmail
    
  • Y actualiza Postfix.

    (sí, es viejo, pero aún así ...)

    Nunca se queje de errores en las versiones de software antiguas, a menos que haya confirmado que también están presentes en la última versión.


3



Muchas gracias por la respuesta. Resultó que en mis pruebas de exploits en otro paquete de software, inadvertidamente obtuve el otro paquete para realmente robar el archivo passwd en (sobrescribir) el binario sendmail. Así que ahora cuando ejecuto el binario sendmail, solo estoy tratando de ejecutar la copia del archivo / etc / passwd. Así que este fue un pequeño malentendido de mi parte. Mis disculpas, y gracias por la respuesta muy agradable y útil. - user50328