Edit report at http://bugs.php.net/bug.php?id=50815&edit=1
ID: 50815 Updated by: ahar...@php.net Reported by: jd at cpanel dot net Summary: Implement 323 short password hash fallback in mysqlnd Status: Wont fix Type: Feature/Change Request -Package: *General Issues +Package: MySQL related Operating System: any PHP Version: 5.3.1 Assigned To: mysql Block user comment: N New Comment: Fix up the package to make this easier to search for. Previous Comments: ------------------------------------------------------------------------ [2010-08-26 13:31:35] u...@php.net We mysql guys have no plans adding old insecure password stuff to mysqlnd. As it is assigned to us/me, I'm changing status to what shall be status from our/my perspective: won't fix. ------------------------------------------------------------------------ [2010-03-03 16:57:40] chris at geartech dot org I am running into this issue with mysqlnd as well; at my work we must keep old passwords on a few daemons to ensure backwards compatibility with proprietary software. MySQL's website (checking the 5.1 & 5.5 documentation) doesn't have the old password format deprecated in the newer versions, it's merely discouraged. While I agree that it is an insecure format and deprecating/removing support of it would be ideal, but it seems like support for this password scheme will exist in (major) future versions. ------------------------------------------------------------------------ [2010-01-21 19:17:49] jd at cpanel dot net I'd agree with you there. They should be using the long hashes. The problem is when you have a system that's been in place for a very long time and the passwords haven't ever changed. The short hashes are still in the user table and the existing libmysqlclient happily connects with them. For some users this makes switching to mysqlnd a very difficult process. You need to force all of these old account to reenter their passwords so they can be rehashed. The main point is that if it's insecure to the point where it's worth breaking backward compatability, why do the latest versions of libmysqlclient continue to provide this functionality? The short hashes in the user table are the security problem, not the ability to send them from the client side, right? ------------------------------------------------------------------------ [2010-01-21 19:07:00] johan...@php.net The old hashing algorithm was insecure, which means passwords could be guessed with little effort. Additionally the last MySQL Server version which depended on this format is 4.0, which is out-of-support by MySQL (see http://www.mysql.com/about/legal/lifecycle/ ) since 2006 (extended support for customers ended 2008-09). Why do you need an insecure auth mechanism? ------------------------------------------------------------------------ [2010-01-21 18:57:50] jd at cpanel dot net Description: ------------ This is a wishlist item. We've found it impossible to use the mysqlnd driver for the PHP MySQL extension since it does not support the 323 style short password hash fallback that the normal libmysqlclient handles during authentication. This means that any mysql users that were added while short password hashes were in use have to change their passwords to long hashes before connecting is possible. Most likely, this is what bug 44082 was encountering. There are several other reports of this problem outside the PHP BTS. The only reference to this limitation I see in the official description of mysqlnd is "The MySQL native driver for PHP does not support the MySQL Server 4.0 or earlier." ( http://dev.mysql.com/downloads/connector/php-mysqlnd/ ) This is misleading since the 323 short password hashes work fine using libmysqlclient with MySQL 4.1+. ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/bug.php?id=50815&edit=1