Serious Crypto Bug Found in PHP 5.3.7

The maintainers of the PHP scripting language are warning users about a serious crypto problem in the latest release and advising them not to upgrade to PHP 5.3.7 until the bug is resolved.

The maintainers of the PHP scripting language are warning users about a serious crypto problem in the latest release and advising them not to upgrade to PHP 5.3.7 until the bug is resolved.

PHP 5.3.7 was just released last week and that version contained fixes for a slew of security vulnerabilities. But now a serious flaw has been found in that new release that is related to the way that one of the cryptographic functions handles inputs. In some cases, when the crypt() function is called using MD5 salts, the function will return only the salt value instead of the salted hash value.

The problem does not occur when using Blowfish or DES, only with MD5. The initial bug report on the problem in the PHP system appeared Aug. 17, the day before the public stable release of PHP 5.3.7.

“If crypt() is executed with MD5 salts, the return value conists of the salt only.
DES and BLOWFISH salts work as expected.

I tested with php from openSUSE PHP5 repository,” the report said. Several other users reproduce the problem on various other platforms.

The PHP Group, which maintains the scripting language, said in a bug report on the crypt () problem that it has fixed the issue in an intermediate build and plans to release a new stable version of PHP in the next few days.

PHP is one of the more widely used scripting languages and is also a frequent attack vector for Web-based attacks, as are other popular scripting languages. Because of its popularity, PHP vulnerabilities and attacks can be quite serious and potentially affect millions of users. However, because PHP 5.3.7 is only a few days old, it’s likely that many users have not yet upgraded.

The PHP Group released PHP 5.3.7 on August 18 and the new version had fixes for quite a few bugs, including six security problems. One of the issues that 5.3.7 fixed was a problem with the crypt() function, but it was a separate bug from the current problem with salts.

Suggested articles