Maintainers of the PHP scripting language are urging users to avoid an update released last week that introduces a serious bug affecting some cryptographic functions.
The flaw in version 5.3.7 involves the crypt() function used to cryptographically hash a text string. When using the command with the MD5 algorithm and some salt characters to help randomize the resulting hash value, the program returns only the salt, instead of the salted hash. The bug doesn't appear to affect the crypt() function when the DES or Blowfish algorithms are used.
“If crypt() is executed with MD5 salts, the return value consists of the salt only,” a bug report published on Wednesday stated. “DES and Blowfish salts work as expected.”
Despite the advisory, PHP maintainers released the update the following day. It fixed several security vulnerabilities, including a buffer overflow flaw on overlog salt in the crypt() function.
On Monday, the maintainers advised users to steer clear of the update.
“Due to unfortunate issues with 5.3.7 users should wait with upgrading until 5.3.8 will be released (expected in few days),” they wrote.
PHP gives webmasters the ability to render dynamically generated web pages that are customized to hundreds of thousands of variables, including where a visitor is located, the type of browser he's using, and when the pages are being accessed. The freely available open-source program is used by millions of websites, so a vulnerability in its source code has the ability to cause widespread security problems.