You're using the non-strict equality operator to compare hashes...
http://blog.astrumfutura.com/2015/05/phps-magic-hash-vulnerability-or-beware-of-type-juggling/
Status | New | ⇒ | Closed |
Closed_Date | 0000-00-00 00:00:00 | ⇒ | 2015-11-09 00:52:43 |
Closed_By | ⇒ | mbabker |
From code review standpoint, the referred commit as well as follow-up commits seem to address this issue properly.
Btw, Joomla upgrades the stored password hash at each login if needed. Thus, this issue can only occur on a very old account that has not been logged in for a very long time, or on a very old unmaintained Joomla installation (one of these has to be older than around 3 years so that the password hasn't been upgraded at a login with a recent Joomla version yet for that compare case to occur).
Labels |
Added:
?
|
Another suggestion: use a timing safe comparison.
(Also: make this use
hash_equals()
in PHP 5.6+.)