Hi,
This is a heads-up message that support for register_globals[1] will be dropped in the upcoming release of MediaWiki 1.24. The rationale can be found in the forwarded email below that was originally sent to wikitech-l.
If you're not familiar with what register_globals is, it was a PHP "feature" that could actually turn into a major security vulnerability. More information about it is on php.net[1].
In the past MediaWiki has tried to prevent against attacks in this form, but starting with 1.24 it will simply refuse to run if register_globals is enabled. The installer will also display an error if enabled.
If you are running a version of PHP >= 5.4, you don't need to worry about this. If you are running PHP 5.3, check your php.ini file to ensure that register_globals is set to "off". There is also some more documentation on how to disable it if you can't edit your hosting provider's php.ini on mediawiki.org[2].
[1] http://www.php.net/manual/en/security.globals.php [2] https://www.mediawiki.org/wiki/Register_globals#Disabling_Register_Globals
-- Legoktm
-------- Original Message -------- Subject: Removing support for register_globals Date: Tue, 08 Jul 2014 18:01:41 -0700 From: Legoktm legoktm.wikipedia@gmail.com To: wikitech-l@lists.wikimedia.org
Hi,
tl;dr: https://gerrit.wikimedia.org/r/144854 stops supporting MediaWiki instances with register_globals enabled.
When PHP 5.3 was released, register_globals was officially deprecated, and that was over 5 years ago[1]. It was then removed in PHP 5.4.
Since MediaWiki still supports 5.3, we've had a check at the top of WebStart.php and in the installer to recommend disabling register_globals if it's still enabled. When working with configuration database-related things as well as general code review of extensions, I've noticed code that does isset( $wgFoo ) in an unsafe manner. We could fix those individual issues, but I think it would be easier to just stop supporting installs that have register_globals enabled. It's 2014!
I've uploaded a patchset[2] that will disable any current installation that has register_globals enabled. It also modifies the command-line installer to prevent installation if it is enabled.
[1] http://www.php.net/manual/en/security.globals.php [2] https://gerrit.wikimedia.org/r/144854
-- Legoktm