Got Joomla! 1.5.*? Get the new one, NOW!
Published August 14, 2008 by Me
Project: Joomla!
SubProject: com_user
Severity: Critical
Versions: 1.5.5 and all previous 1.5 releases
Exploit type: Password Reset Forgery
Reported Date: 2008-August-12
Fixed Date: 2008-August-12
Description
A flaw in the reset token validation mechanism allows for non-validating tokens to be forged. This will allow an unauthenticated, unauthorized user to reset the password of the first enabled user (lowest id). Typically, this is an administrator user. Note, that changing the first users username may lessen the impact of this exploit (since the person who changed the password does not know the login associated with the new password). However, the only way to completely rectify the issue is to upgrade to 1.5.6 (or patch the /components/com_user/models/reset.php file).
Affected Installs
All 1.5.x installs prior to and including 1.5.5 are affected.
Solution
Upgrade to latest Joomla! version (1.5.6 or newer) HERE, or patch /components/com_user/models/reset.php with the code below:
After global $mainframe; on line 113 of reset.php, add:
if(strlen($token) != 32) {
$this->setError(JText::_('INVALID_TOKEN'));
return false;
}
Kudos to QT for the alert!


