• 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), 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;
}

Contact

This email address is being protected from spambots. You need JavaScript enabled to view it.

Reported By: Joomla! Bug Squad Member Marijke Stuivenberg