On Wednesday, a remote code execution vulnerability in PHP was accidentally exposed to the Web, prompting fears that it may be used to target vulnerable websites on a massive scale. The bug itself was traced back to 2004, and came to light during a recent CTF competition.

The group that discovered the bug was waiting for a patch to be published before they released any information. However, on Wednesday details were leaked to Reddit prompting the group (Eindbazen) disclose what they had discovered.

[Update: On May 08, the PHP development team released PHP 5.4.3 and PHP 5.3.13. All users are encouraged to upgrade to PHP 5.4.3 or PHP 5.3.13.]

“When PHP is used in a CGI-based setup (such as Apache's mod_cgid), the php-cgi receives a processed query string parameter as command line arguments which allows command-line switches, such as -s, -d or -c to be passed to the php-cgi binary, which can be exploited to disclose source code and obtain arbitrary code execution,” a CERT advisory on the flaw explains.

In short, the flaw will attackers to issue commands to servers where PHP has been compiled to run under CGI mode. This is often done for security and development reasons. It’s important to note that FastCGI configurations are not impacted by the flaw.

PHP developers pushed a fix for the flaw, resulting in the release of PHP 5.3.12 and 5.4.2, but as it turns out it didn’t actually remove the vulnerability.

“The new PHP versions as well as the official PHP patch contain a bug which makes the fix trivial to bypass. Use our mitigations for now,” the Eindbazen team wrote on their blog.

Mitigations as well as additional information from Eindbazen can be found on their website. You can view it here.

Finally, the developers over at PHP are aware of the issues created by the fix and are working to stamp out the problem.

Interested in Secure Development Strategies? Join us for a live Webinar on May 23 at 1:00PM: "The Great Security Divide: How security can work better with development", presented by Coverity Founder and CTO, Andy Chou. You can register free here.