Re: sendmail check

From: Date: Fri, 10 Oct 2003 16:08:33 +0000
Subject: Re: sendmail check
References: 1  Groups: php.internals 
Request: Send a blank email to internals+get-4778@lists.php.net to get a copy of this message
I don't buy the security line you are trying to tuck onto your non-silent termination patch. If you are concerned about safe mode, fine, enable the patch for safe mode only. Having a warning in the case that the shell execution failed (it returns a non-zero error code, right?) makes sense, but you are intentionally breaking configurations which work flawlessly with older PHP versions. - Sascha On Fri, 10 Oct 2003, Ilia Alshanetsky wrote: > Sascha, > > The purpose of the patch is to prevent silent termination of mail() when > sendmail_path contains a non-existant path or a non-executable file. The > backwards compatibility break was unintentional, however previous behavior > may in fact be a security issue. Consider the following situation. > I have sendmail_path set to "sendmail -t", inside my script I set PATH to > ".", > now by placing any executable file (sendmail) inside the current (or > specified directory) I can execute it freely bypassing safe_mode, > open_basedir and any other limitations. Same would be true is someone were to > place a 'hostile' sendmail binary inside a directory who's PATH order > precedes that of the real sendmail. It would allow the attacker to capture > all text send by PHP via e-mail. > As I understand part of the reason for making sendmail_path system INI > directive was to allow the server admin & only the server admin to control > this directive. By allowing incomplete paths we potentially allow user to act > as an admin. > > Ilia >

« previous php.internals (#4778) next »