CallBackery before 0.62.0 has password and session flaws
The note describes unsalted HMAC-SHA1 passwords, cookie forgery via rand(), and session cookies accepted at any age.
Unsalted HMAC-SHA1 password storage in CallBackery before 0.62.0
CallBackery for Perl before 0.62.0 stores user passwords as unsalted HMAC-SHA1 hashes via Mojo::Util hmac_sha1_sum() with no key and no work factor. Identical passwords produce identical hashes, so an attacker who obtains the user table can recover passwords by fast offline guessing. Anyone with access to that table is affected.
What to do: Upgrade CallBackery to 0.62.0 or later so passwords are no longer stored as unsalted HMAC-SHA1 hashes.
| Product | Affected | Fixed in |
|---|---|---|
| CallBackery | before 0.62.0 | 0.62.0 |
Order-of-magnitude estimate by the model from install counts, market share and public scan data it knows; verify before quoting.
CallBackery versions before 0.62.0 for Perl store user passwords as unsalted HMAC-SHA1 hashes. Passwords are hashed with hmac_sha1_sum() from Mojo::Util with no key, a single fast SHA-1 HMAC. There is no salt, so equal passwords give equal hashes, and no work factor slows down guessing. An attacker who obtains the user table can recover passwords by fast offline guessing.
The note describes unsalted HMAC-SHA1 passwords, cookie forgery via rand(), and session cookies accepted at any age.
Today 1.5K readers · 2.4K views · 768 reads · all time 189K views