Vulnerability · Published Jan 30, 2020 · Assigned by GitHub_M

CVE-2020-5229Opencast stores passwords using outdated MD5 hash algorithm

High 7.7

In plain English

A high-severity broken cryptography in opencast from opencast. There are no confirmed reports of exploitation so far. The chance it is exploited in the next 30 days is estimated at 0.6% (higher than 50% of all known vulnerabilities). Fixed versions are available - upgrade the affected package.

Severity (CVSS 3.1)7.7High
Exploit odds (30 days)0.6%top 49.8% of all CVEs
Exploited in the wildNo reportsnot in CISA KEV
Attack toolingNoneno public tooling known

Official description

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 packages & fixed versions

EcosystemPackageFixed inAdvisory
Mavenorg.opencastproject:opencast-common-jpa-impl7.6GHSA-h362-m8f2-5x7c
Mavenorg.opencastproject:opencast-common-jpa-impl8.1GHSA-h362-m8f2-5x7c

Affected products (as reported)

VendorProductVersions
opencast opencast < 8.1

Weakness: CWE-327 · Vector: CVSS:3.1/AV:N/AC:H/PR:L/UI:R/S:C/C:H/I:H/A:N

References