Hi,

    help is always appricaited. Without taking a closer look, is
    this the only function which should be 'guarded' or are there
    other within the ext/posix extensions?

    - Markus

On Thu, Apr 25, 2002 at 04:30:06AM -0000, [EMAIL PROTECTED] wrote : 
>  ID:               16733
>  Updated by:       [EMAIL PROTECTED]
>  Reported By:      [EMAIL PROTECTED]
>  Status:           Analyzed
>  Bug Type:         POSIX related
>  Operating System: Unix
>  PHP Version:      4.2.0
>  New Comment:
> 
> I think that it shouldn't take too long to add the following checks,
> maybe I can try helping if you are all busy:
> 
> - in case safe_mode is on and script doesn't run as root, then disallow
> the posix_get* functions.
> 
> - in case open_basedir restricts access to /etc then the posix_get*
> functions should be working neither.
> 
> 
> Previous Comments:
> ------------------------------------------------------------------------
> 
> [2002-04-23 18:25:41] [EMAIL PROTECTED]
> 
> reclassified
> 
> ------------------------------------------------------------------------
> 
> [2002-04-23 17:45:25] [EMAIL PROTECTED]
> 
> No, the extensions that work only with cli are: pcntl, ncurses and
> readline.
> 
> ------------------------------------------------------------------------
> 
> [2002-04-22 13:00:49] [EMAIL PROTECTED]
> 
> Hmm. I was under the impression ext/posix is disabled non-cli SAPI's.
> 
> Checking this out.
> 
> ------------------------------------------------------------------------
> 
> [2002-04-22 12:53:42] [EMAIL PROTECTED]
> 
> I noticed that many of the posix_* functions DO NOT check wether
> safe_mode or open_basedir restrict access to the user database thus
> allowing a user to rebuild a complete /etc/passwd without permissions
> to read /etc/passwd or access the /etc directory.
> 
> This is dangerous in some cases where login are kept secret as it
> allows a user to know what accounts have what privileges and what
> accounts have access to a shell or not.
> For now there is only one thing to do, disable these functions but i'm
> pretty sure that adding checks to see values of safe_mode and/or
> open_basedir would be a nice thing to do.
> 
> Here's a script that rebuilds /etc/passwd when safe_mode is enabled and
> open_basedir is set to the user homedirectory:
> 
> <?
>     for ($i = 0; $i < 60000; $i++)
>       {
>         if (($tab = @posix_getpwuid($i)) != NULL)
>           {
>             echo $tab['name'].":";
>             echo $tab['passwd'].":";
>             echo $tab['uid'].":";
>             echo $tab['gid'].":";
>             echo $tab['gecos'].":";
>             echo $tab['dir'].":";
>             echo $tab['shell']."<br>";
>           }
>       }
> ?>
> 
> On a very large system, if an execution time is set, this will not end
> up, but hopefully the posix_getpwent() function is missing so the user
> has to go through all possible uid's.
> 
> ------------------------------------------------------------------------
> 
> 
> -- 
> Edit this bug report at http://bugs.php.net/?id=16733&edit=1

-- 
Please always Cc to me when replying to me on the lists.
GnuPG Key: http://guru.josefine.at/~mfischer/C2272BD0.asc
"Mind if I MFH ?" "What QA did you do on it?" "the usual?" "ah... none :)"

-- 
PHP Development Mailing List <http://www.php.net/>
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to