CVE-2020-5229: Opencast stores passwords using outdated MD5 hash algorithm
Opencast before 8.1 stores passwords using the rather outdated and cryptographically insecure MD5 hash algorithm. Furthermore, the hashes are salted using the username instead of a random salt, causing hashes for users with the same username and password to collide which is problematic especially for popular users like the default admin user. This essentially means that for an attacker, it might be feasible to reconstruct a user's password given access to these hashes. Note that attackers needing access to the hashes means that they must gain access to the database in which these are stored first to be able to start cracking the passwords. The problem is addressed in Opencast 8.1 which now uses the modern and much stronger bcrypt password hashing algorithm for storing passwords. Note, that old hashes remain MD5 until the password is updated. For a list of users whose password hashes are stored using MD5, take a look at the /user-utils/users/md5.json REST endpoint.
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
Opencastto a version that resolves this vulnerability.Fixed in 8.1 - Compensating control
Assume an attacker must first gain database access to the stored password hashes before cracking; therefore restrict database access (network/ACL/least privilege) to reduce the likelihood of hash theft.
- Operational
Re-encode/update user passwords so that old MD5 hashes are replaced; old hashes remain MD5 until the password is updated.
Event History
Frequently Asked Questions
What is the vulnerability ID for Opencast?
The vulnerability ID for Opencast is CVE-2020-5229.
What is the severity of CVE-2020-5229?
The severity of CVE-2020-5229 is high, with a severity value of 8.1.
How does Opencast store passwords?
Opencast stores passwords using the outdated and insecure MD5 hash algorithm.
What does it mean for the hashes to collide in Opencast?
In Opencast, colliding hashes occur when users with the same username and password have identical password hashes, which can lead to security issues.
How can the vulnerability in Opencast be fixed?
The vulnerability in Opencast can be fixed by updating to version 8.1 or above, as this version addresses the issue of storing passwords using the insecure MD5 algorithm.