CVE Vulnerabilities

CVE-2019-10754

Use of Cryptographically Weak Pseudo-Random Number Generator (PRNG)

Published: Sep 23, 2019 | Modified: Sep 24, 2019
CVSS 3.x
8.1
HIGH
Source:
NVD
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:N
CVSS 2.x
5.5 MEDIUM
AV:N/AC:L/Au:S/C:P/I:P/A:N
RedHat/V2
RedHat/V3
Ubuntu

Multiple classes used within Apereo CAS before release 6.1.0-RC5 makes use of apache commons-lang3 RandomStringUtils for token and ID generation which makes them predictable due to RandomStringUtils PRNGs algorithm not being cryptographically strong.

Weakness

The product uses a Pseudo-Random Number Generator (PRNG) in a security context, but the PRNG’s algorithm is not cryptographically strong.

Affected Software

Name Vendor Start Version End Version
Central_authentication_service Apereo * 6.0.5.1 (including)
Central_authentication_service Apereo 6.1.0-rc1 (including) 6.1.0-rc1 (including)
Central_authentication_service Apereo 6.1.0-rc2 (including) 6.1.0-rc2 (including)
Central_authentication_service Apereo 6.1.0-rc3 (including) 6.1.0-rc3 (including)
Central_authentication_service Apereo 6.1.0-rc4 (including) 6.1.0-rc4 (including)

Extended Description

When a non-cryptographic PRNG is used in a cryptographic context, it can expose the cryptography to certain types of attacks. Often a pseudo-random number generator (PRNG) is not designed for cryptography. Sometimes a mediocre source of randomness is sufficient or preferable for algorithms that use random numbers. Weak generators generally take less processing power and/or do not use the precious, finite, entropy sources on a system. While such PRNGs might have very useful features, these same features could be used to break the cryptography.

Potential Mitigations

References