ID: 50815 User updated by: jd at cpanel dot net Reported By: jd at cpanel dot net -Status: Feedback +Status: Open Bug Type: MySQL related Operating System: any PHP Version: 5.3.1 New Comment:
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? Previous Comments: ------------------------------------------------------------------------ [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/?id=50815&edit=1