[pmwiki-users] PmWiki security vulnerability (pmwiki-2.1.21 released)

Patrick R. Michaud pmichaud at pobox.com
Tue Sep 5 12:49:49 CDT 2006


On Tue, Sep 05, 2006 at 01:53:38PM -0300, Tony Abou-Assaleh wrote:
> Pm,
> 
> Could you post a diff of what changed? Is it only the line you mentioned
> below in pmwiki.php? Thanks.

The diffs also appear in the distribution directory:

    http://www.pmichaud.com/pub/pmwiki/

        pmwiki-2.1.21.patch.gz    (diff from 2.1.20 to 2.1.21)
        pmwiki-2.1.22.patch.gz    (diff from 2.1.21 to 2.1.22)

Pm



> On Tue, 5 Sep 2006, Patrick R. Michaud wrote:
> 
> > This morning I awoke to news of a security vulnerability in PmWiki
> > that apparently is being exploited by some botnet code that is running
> > "in the wild".  (Source: http://isc.sans.org/diary.php?storyid=1672 [1])
> >
> > The source of the vulnerability is a deep bug in the PHP/Zend engine
> > that causes the unset() operation to not work properly [2] [3], thus
> > preventing PmWiki from properly sanitizing variables set by
> > register_globals.
> >
> > Thus, I've just released pmwiki-2.1.21, which closes off this particular
> > vulnerability.  It's available from the usual locations:
> >
> >     http://www.pmwiki.org/pub/pmwiki/pmwiki-2.1.21.tgz
> >     http://www.pmwiki.org/pub/pmwiki/pmwiki-2.1.21.zip
> >     http://www.sourceforge.net/projects/pmwiki
> >     svn://pmwiki.org/pmwiki/tags/latest
> >
> > Of course, I recommend upgrading to the latest version at the earliest
> > opportunity.
> >
> > For those sites that are unable or unwilling to upgrade at this time,
> > the vulnerability can be closed via one of these other mechanisms:
> >
> > 1.  Turn off 'register_globals'.   This can be done by changing the
> >     php.ini file to have
> >
> >         register_globals Off
> >
> >     However, many sites don't have access to the php.ini file.  On
> >     some sites it's also possible to disable register_globals via
> >     a .htaccess file in the same directory as pmwiki.php:
> >
> >         php_flag register_globals Off
> >
> > 2.  Patch the pmwiki.php code directly.  The vulnerability can be
> >     closed via a small change to pmwiki.php.  Near the beginning of
> >     the pmwiki.php code, find the lines that read
> >
> >     if (ini_get('register_globals'))
> >       foreach($_REQUEST as $k=>$v) {
> >         if (preg_match('/^(GLOBALS|_SERVER|_GET|_POST|_COOKIE|_FILES|_ENV|_REQUEST|_SESSION)$/i', $k)) exit();
> >         unset(${$k});
> >       }
> >
> >     and change them to read
> >
> >     if (ini_get('register_globals'))
> >       foreach($_REQUEST as $k=>$v) {
> >         if (preg_match('/^(GLOBALS|_SERVER|_GET|_POST|_COOKIE|_FILES|_ENV|_REQUEST|_SESSION|FarmD|WikiDir)$/i', $k)) exit();
> >         ${$k}=''; unset(${$k});
> >       }
> >
> >
> > Shortly I'll be publishing a tool on the pmwiki.org site that will
> > allow site administrators to enter the url of their pmwiki site and
> > it will report back as to whether the site is vulnerable or not
> > vulnerable to this particular exploit.
> >
> > Apologies for any inconvenience.  Questions and assistance are available
> > as always through the pmwiki-users mailing list, or contact me directly
> > at pmichaud at pobox.com .
> >
> > Thanks!
> >
> > Pm
> >
> >
> > References:
> > 1.  http://isc.sans.org/diary.php?storyid=1672
> > 2.  http://securitytracker.com/alerts/2006/Aug/1016649.html
> > 3.  http://www.hardened-php.net/hphp/zend_hash_del_key_or_index_vulnerability.html
> >
> > _______________________________________________
> > pmwiki-announce mailing list
> > pmwiki-announce at pmichaud.com
> > http://host.pmichaud.com/mailman/listinfo/pmwiki-announce
> >
> 




More information about the pmwiki-users mailing list