Skip to content

Password Hashing: Do not use MD5

Low severity GitHub Reviewed Published Jan 29, 2020 in opencast/opencast • Updated Jan 9, 2023

Package

maven org.opencastproject:opencast-common-jpa-impl (Maven)

Affected versions

< 7.6
>= 8.0, < 8.1

Patched versions

7.6
8.1

Description

Impact

User passwords are stored in the database 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.

Patches

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.

Workarounds

There is no workaround.

References

For more information

If you have any questions or comments about this advisory:

References

@lkiesow lkiesow published to opencast/opencast Jan 29, 2020
Reviewed Jan 30, 2020
Published to the GitHub Advisory Database Jan 30, 2020
Last updated Jan 9, 2023

Severity

Low

EPSS score

0.063%
(29th percentile)

Weaknesses

CVE ID

CVE-2020-5229

GHSA ID

GHSA-h362-m8f2-5x7c

Source code

No known source code
Loading Checking history
See something to contribute? Suggest improvements for this vulnerability.